#!/usr/bin/env perl

use warnings;

if (@ARGV != 3) {
  print "Compute susceptibility as C=<O^2>-<O>^2. A is <O^2>, B is <O>\n";
  print "Usage: susc A B C\n";
  exit(1);
}

my $A = shift;
my $B = shift;
my $C = shift;

open(A, "<$A") or die "Can't open $A for reading.";
open(B, "<$B") or die "Can't open $B for reading.";
open(C, ">$C") or die "Can't open $C for writing.";

my ($x, $x2, $a, $b, $y);

while (<A>) {
  if (/^#/) { 
    print C;
    next;
  }

  ($x, $a) = split(' ', $_);
  
  $l = <B>;
  while ($l =~ /^#/) {
    $l = <B>;
  }
  ($x2, $b) = split(' ', $l);
  
  if ($x != $x2) {
    warn "Non-matching first columns: $x vs. $x2\n";
  }
  
  $y = $a - $b ** 2;
  
  print C "$x $y\n";
}

  
