Details

Time bar (total: 5.5s)

analyze177.0ms (3.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%81.2%0.1%0%18.7%0%5
16%12.5%65.6%0.1%0%21.9%0%6
27.9%18.7%48.4%0.1%0%32.8%0%7
43.4%28.1%36.7%0.1%0%35.1%0%8
55.6%32.8%26.1%0.1%0%41%0%9
66.4%38.2%19.3%0.1%0%42.3%0%10
75.1%41%13.6%0.1%0%45.4%0%11
81.6%43.9%9.9%0.1%0%46.1%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample3.4s (62.4%)

Results
3.3s8256×body256valid
86.0ms647×body256invalid
Bogosity

preprocess12.0ms (0.2%)

Algorithm
egg-herbie
Rules
20×rational.json-simplify-2
16×rational.json-simplify-60
rational.json-simplify-54
rational.json-simplify-1
rational.json-simplify-55
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
11946
22646
34846
46646
56646
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
Outputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify27.0ms (0.5%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-2
rational.json-simplify-60
rational.json-simplify-54
rational.json-simplify-1
rational.json-simplify-55
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11423
22023
33323
44823
54823
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Outputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))

eval1.0ms (0%)

Compiler

Compiled 10 to 6 computations (40% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
29.9b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 10 to 6 computations (40% saved)

localize145.0ms (2.7%)

Local error

Found 2 expressions with local error:

NewErrorProgram
3.2b
(-.f64 (*.f64 a a) (*.f64 b b))
27.8b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 25 to 6 computations (76% saved)

series7.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
a
@0
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
1.0ms
b
@0
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
1.0ms
a
@inf
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
1.0ms
b
@inf
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
0.0ms
b
@-inf
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))

rewrite142.0ms (2.6%)

Algorithm
batch-egg-rewrite
Rules
762×rational.json-simplify-49
748×rational.json-simplify-47
710×rational.json-simplify-54
634×rational.json-simplify-50
546×rational.json-simplify-58
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0942
17942
228842
3108642
4462042
Stop Event
node limit
Counts
2 → 64
Calls
Call 1
Inputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 (*.f64 a a) (*.f64 b b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))) (/.f64 (/.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 (*.f64 a a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 b (neg.f64 b)) (*.f64 a a))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 b b)) (+.f64 1 (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 b b)) (-.f64 1 (*.f64 a (neg.f64 a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (*.f64 a a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (*.f64 a a) (*.f64 b b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a b) (-.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 a b) (+.f64 a b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (*.f64 a a) (*.f64 b b))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 -1 (-.f64 (*.f64 b b) (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (neg.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 -1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (neg.f64 a) b) (-.f64 -1 (-.f64 a (-.f64 b -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fabs.f64 a) b) (+.f64 b (fabs.f64 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fabs.f64 a) b) (-.f64 (fabs.f64 a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 a (fabs.f64 b)) (+.f64 a (fabs.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fabs.f64 a) (fabs.f64 b)) (-.f64 (fabs.f64 a) (fabs.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (fabs.f64 a) (fabs.f64 b)) (*.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)) (+.f64 (fabs.f64 a) (fabs.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a (fabs.f64 b)) (-.f64 a (fabs.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 a (fabs.f64 b)) (*.f64 (-.f64 a (fabs.f64 b)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (fabs.f64 b) a) (-.f64 (neg.f64 a) (fabs.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (fabs.f64 a)) (-.f64 (fabs.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (fabs.f64 a)) (*.f64 (-.f64 (fabs.f64 a) b) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) 1) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 b (neg.f64 a)) (-.f64 (neg.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 b) a) (-.f64 a (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (neg.f64 b) (neg.f64 a)) (-.f64 (neg.f64 a) (neg.f64 b)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 b b) (*.f64 a a)))))))

simplify282.0ms (5.2%)

Algorithm
egg-herbie
Rules
1206×rational.json-simplify-50
954×rational.json-simplify-1
886×rational.json-simplify-44
858×rational.json-simplify-2
798×rational.json-simplify-47
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02083330
14293288
27453288
317163288
453883120
Stop Event
node limit
Counts
112 → 118
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 b 5)))) (*.f64 (sqrt.f64 -1) b))))
a
(+.f64 a (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (*.f64 -1/2 (/.f64 (pow.f64 b 2) a))))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(*.f64 -1 a)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1 a))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1 a)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (*.f64 -1 a))))
a
(+.f64 a (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (*.f64 -1/2 (/.f64 (pow.f64 b 2) a))))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 b 5)))) (*.f64 (sqrt.f64 -1) b))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3))))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (*.f64 -1/16 (/.f64 (pow.f64 a 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 b 5)))))))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(*.f64 -1 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)
(-.f64 0 (neg.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(-.f64 (-.f64 0 (-.f64 -1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(*.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))) (/.f64 (/.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(+.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 0)
(+.f64 0 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1)))
(+.f64 (*.f64 b (neg.f64 b)) (*.f64 a a))
(+.f64 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1)) 1)
(+.f64 (-.f64 -1 (*.f64 b b)) (+.f64 1 (*.f64 a a)))
(+.f64 (-.f64 -1 (*.f64 b b)) (-.f64 1 (*.f64 a (neg.f64 a))))
(*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))
(*.f64 1 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (+.f64 a b) (-.f64 a b))
(*.f64 (-.f64 a b) (+.f64 a b))
(*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) 1))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (*.f64 a a) (*.f64 b b))))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 -1 (-.f64 (*.f64 b b) (*.f64 a a))))
(*.f64 (neg.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 -1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1))))
(*.f64 (-.f64 (neg.f64 a) b) (-.f64 -1 (-.f64 a (-.f64 b -1))))
(*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))
(*.f64 (-.f64 (fabs.f64 a) b) (+.f64 b (fabs.f64 a)))
(*.f64 (-.f64 (fabs.f64 a) b) (-.f64 (fabs.f64 a) (neg.f64 b)))
(*.f64 (-.f64 a (fabs.f64 b)) (+.f64 a (fabs.f64 b)))
(*.f64 (+.f64 (fabs.f64 a) (fabs.f64 b)) (-.f64 (fabs.f64 a) (fabs.f64 b)))
(*.f64 (+.f64 (fabs.f64 a) (fabs.f64 b)) (*.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)) 1))
(*.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)) (+.f64 (fabs.f64 a) (fabs.f64 b)))
(*.f64 (+.f64 a (fabs.f64 b)) (-.f64 a (fabs.f64 b)))
(*.f64 (+.f64 a (fabs.f64 b)) (*.f64 (-.f64 a (fabs.f64 b)) 1))
(*.f64 (-.f64 (fabs.f64 b) a) (-.f64 (neg.f64 a) (fabs.f64 b)))
(*.f64 (+.f64 b (fabs.f64 a)) (-.f64 (fabs.f64 a) b))
(*.f64 (+.f64 b (fabs.f64 a)) (*.f64 (-.f64 (fabs.f64 a) b) 1))
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) 1) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))
(*.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))
(*.f64 (+.f64 b (neg.f64 a)) (-.f64 (neg.f64 a) b))
(*.f64 (+.f64 (neg.f64 b) a) (-.f64 a (neg.f64 b)))
(*.f64 (+.f64 (neg.f64 b) (neg.f64 a)) (-.f64 (neg.f64 a) (neg.f64 b)))
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))
(/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(neg.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
Outputs
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 b 5)))) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))))) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))))))
a
(+.f64 a (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (*.f64 -1/2 (/.f64 (pow.f64 b 2) a))))
(+.f64 a (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 a (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3)))))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(+.f64 a (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))))))
(+.f64 a (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(*.f64 -1 a)
(neg.f64 a)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1 a))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (neg.f64 a))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1 a)))
(+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (neg.f64 a)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (neg.f64 a)))
(+.f64 (*.f64 1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (*.f64 -1 a))))
(+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (neg.f64 a))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (neg.f64 a)) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (neg.f64 a))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (neg.f64 a))))
a
(+.f64 a (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (*.f64 -1/2 (/.f64 (pow.f64 b 2) a))))
(+.f64 a (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3)))))
(+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 a (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3)))))
(+.f64 a (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(+.f64 a (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))))))
(+.f64 a (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (*.f64 -1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 b 5)))) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))))))
(+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))))) (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 -1/8 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) b))
(*.f64 (sqrt.f64 -1) (neg.f64 b))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3))))))
(+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (+.f64 (*.f64 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2) (*.f64 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))) 1/8)))
(+.f64 (*.f64 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2) (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))) 1/8)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/8 (/.f64 (pow.f64 a 4) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (*.f64 -1/16 (/.f64 (pow.f64 a 6) (*.f64 (pow.f64 (sqrt.f64 -1) 5) (pow.f64 b 5)))))))
(+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (+.f64 (*.f64 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2) (+.f64 (*.f64 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))) 1/8) (*.f64 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))) -1/16))))
(+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (+.f64 (+.f64 (*.f64 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2) (*.f64 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))) 1/8)) (*.f64 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))) -1/16)))
(+.f64 (*.f64 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2) (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (+.f64 (*.f64 (/.f64 (pow.f64 a 4) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))) 1/8) (*.f64 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5))) -1/16))))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(pow.f64 a 2)
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(*.f64 -1 (pow.f64 b 2))
(neg.f64 (pow.f64 b 2))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))
(+.f64 (pow.f64 a 2) (*.f64 -1 (pow.f64 b 2)))
(+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))
(+.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 0 (neg.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(-.f64 (-.f64 0 (-.f64 -1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (*.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (*.f64 (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))) (/.f64 (/.f64 (/.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) (sqrt.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (sqrt.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(neg.f64 (neg.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 0)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 0 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (*.f64 b (neg.f64 b)) (*.f64 a a))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1)) 1)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (-.f64 -1 (*.f64 b b)) (+.f64 1 (*.f64 a a)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(+.f64 (-.f64 -1 (*.f64 b b)) (-.f64 1 (*.f64 a (neg.f64 a))))
(+.f64 (-.f64 -1 (*.f64 b b)) (-.f64 1 (neg.f64 (*.f64 a a))))
(*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 1 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 a b) (-.f64 a b))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 a b) (+.f64 a b))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) 1))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (/.f64 -1 (-.f64 (*.f64 b b) (*.f64 a a))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (neg.f64 (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (-.f64 -1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) -1))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (neg.f64 a) b) (-.f64 -1 (-.f64 a (-.f64 b -1))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (fabs.f64 a) b) (+.f64 b (fabs.f64 a)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (fabs.f64 a) b) (-.f64 (fabs.f64 a) (neg.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 a (fabs.f64 b)) (+.f64 a (fabs.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 (fabs.f64 a) (fabs.f64 b)) (-.f64 (fabs.f64 a) (fabs.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 (fabs.f64 a) (fabs.f64 b)) (*.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)) 1))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (fabs.f64 a) (fabs.f64 b)) (+.f64 (fabs.f64 a) (fabs.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 a (fabs.f64 b)) (-.f64 a (fabs.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 a (fabs.f64 b)) (*.f64 (-.f64 a (fabs.f64 b)) 1))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (-.f64 (fabs.f64 b) a) (-.f64 (neg.f64 a) (fabs.f64 b)))
(*.f64 (-.f64 (fabs.f64 b) a) (-.f64 (neg.f64 (fabs.f64 b)) a))
(*.f64 (+.f64 b (fabs.f64 a)) (-.f64 (fabs.f64 a) b))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 b (fabs.f64 a)) (*.f64 (-.f64 (fabs.f64 a) b) 1))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (/.f64 (*.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) 1) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))) (/.f64 (/.f64 (/.f64 1 (-.f64 (*.f64 a a) (*.f64 b b))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a)))) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 b (neg.f64 a)) (-.f64 (neg.f64 a) b))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 (neg.f64 b) a) (-.f64 a (neg.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (+.f64 (neg.f64 b) (neg.f64 a)) (-.f64 (neg.f64 a) (neg.f64 b)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (-.f64 (*.f64 b b) (*.f64 a a))))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(neg.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))

eval205.0ms (3.8%)

Compiler

Compiled 2568 to 1155 computations (55% saved)

prune41.0ms (0.7%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1162118
Fresh000
Picked011
Done000
Total1163119
Error
0.1b
Counts
119 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
30.0b
(neg.f64 a)
33.7b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize4.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked011
Done011
Total033
Error
0.1b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
30.0b
(neg.f64 a)
33.7b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0.1b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
30.0b
(neg.f64 a)
33.7b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done022
Total033
Error
0.1b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
29.9b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
30.0b
(neg.f64 a)
33.7b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

regimes515.0ms (9.4%)

Accuracy

Total -63.1b remaining (-17497.4%)

Threshold costs -63.1b (-17497.4%)

Counts
3 → 2
Calls
Call 1
Inputs
a
(neg.f64 a)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Outputs
(neg.f64 a)
a
Calls

6 calls:

182.0ms
b
125.0ms
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
122.0ms
a
43.0ms
(*.f64 b b)
20.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
Results
ErrorSegmentsBranch
0.4b2a
19.9b7b
12.7b3(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
12.7b3(-.f64 (*.f64 a a) (*.f64 b b))
12.7b3(*.f64 a a)
19.6b6(*.f64 b b)
Compiler

Compiled 48 to 28 computations (41.7% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
-2.0452817502594303e-252
8.926672694803262e-263
Results
23.0ms187×body256invalid
0.0msbody256valid
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify158.0ms (2.9%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01016
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 a -8441493463231551/4127301024497384737127654569660285988428494734657199391624693039270889863724412964643884811622321780427143710884821317803768340308614730759769835769241715444596770968742227220068214981847081570726751819595399909407406471037121576084674975771617472472574520163263578112) (neg.f64 a) a)
a
Outputs
(if (<=.f64 a -8441493463231551/4127301024497384737127654569660285988428494734657199391624693039270889863724412964643884811622321780427143710884821317803768340308614730759769835769241715444596770968742227220068214981847081570726751819595399909407406471037121576084674975771617472472574520163263578112) (neg.f64 a) a)
a
Compiler

Compiled 12 to 8 computations (33.3% saved)

soundness289.0ms (5.3%)

Algorithm
egg-herbie
Rules
1206×rational.json-simplify-50
954×rational.json-simplify-1
886×rational.json-simplify-44
858×rational.json-simplify-2
798×rational.json-simplify-47
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02083330
14293288
27453288
317163288
453883120
Stop Event
node limit
Compiler

Compiled 10 to 7 computations (30% saved)

end19.0ms (0.3%)

Compiler

Compiled 10 to 6 computations (40% saved)

Profiling

Loading profile data...