Details

Time bar (total: 2.9s)

analyze58.0ms (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)

sample1.9s (65.8%)

Results
1.8s8256×body256valid
57.0ms671×body256invalid
Bogosity

preprocess118.0ms (4.1%)

Algorithm
egg-herbie
Rules
1098×rational.json-simplify-2
916×rational.json-simplify-44
898×rational.json-simplify-37
814×rational.json-simplify-47
790×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
11946
23046
38446
439246
5394646
6626646
7748946
022
Stop Event
saturated
node limit
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 a) (-.f64 a b)))
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify115.0ms (4%)

Algorithm
egg-herbie
Rules
1090×rational.json-simplify-2
926×rational.json-simplify-44
902×rational.json-simplify-37
820×rational.json-simplify-47
802×rational.json-simplify-39
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11423
22423
36923
437423
5394723
6623923
7740023
Stop Event
node limit
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)))

eval0.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
30.4b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
30.4b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 10 to 6 computations (40% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

NewErrorProgram
2.4b
(-.f64 (*.f64 a a) (*.f64 b b))
28.5b
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Compiler

Compiled 25 to 6 computations (76% saved)

series3.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
a
@0
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
0.0ms
a
@inf
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
0.0ms
b
@0
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
0.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)))

rewrite79.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
2104×rational.json-1
2104×rational.json-2
1286×rational.json-simplify-35
888×exponential.json-3
888×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0942
16142
215642
344742
4207342
5680142
Stop Event
node limit
Counts
2 → 51
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 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)))) (#(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 2 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)))) (#(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 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))) 16)))) (#(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 +.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 (*.f64 b (neg.f64 b)) (*.f64 a a))))) (#(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 -1 (+.f64 (-.f64 1 (*.f64 b 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 (*.f64 a a) (*.f64 b b)) 1)))) (#(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 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 2 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 1/2)))) (#(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 (fabs.f64 a) b) (+.f64 b (fabs.f64 a)))))) (#(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 (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 b (fabs.f64 a)) (-.f64 (fabs.f64 a) b))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 a b) 2) (/.f64 (-.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 a b) 2) (/.f64 (+.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 b b) (*.f64 a a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 a b) 2) (*.f64 (-.f64 a b) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 a b) 2) (*.f64 (+.f64 a b) 2))))) (#(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 (*.f64 a a) (*.f64 b b)) 2) 2)))) (#(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 a b) (*.f64 (-.f64 a b) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4))) (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4)))) 16)))) (#(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)))))))

simplify97.0ms (3.4%)

Algorithm
egg-herbie
Rules
1030×rational.json-simplify-1
912×rational.json-simplify-2
906×rational.json-simplify-51
760×rational.json-simplify-44
680×rational.json-simplify-19
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01703019
13592969
27132969
318992969
468192825
Stop Event
node limit
Counts
99 → 105
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 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(*.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(*.f64 2 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 1/2)
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))) 16)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(+.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 (*.f64 b (neg.f64 b)) (*.f64 a a))
(+.f64 -1 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) 1)))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 b b)) (*.f64 a a)))
(+.f64 (-.f64 (*.f64 a a) (-.f64 (*.f64 b b) 1)) -1)
(*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(*.f64 1 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (+.f64 a b) (-.f64 a b))
(*.f64 (-.f64 a b) (+.f64 a b))
(*.f64 2 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2))
(*.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 1/2)
(*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)
(*.f64 (-.f64 (fabs.f64 a) b) (+.f64 b (fabs.f64 a)))
(*.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 (fabs.f64 a) (fabs.f64 b)))
(*.f64 (+.f64 a (fabs.f64 b)) (-.f64 a (fabs.f64 b)))
(*.f64 (+.f64 b (fabs.f64 a)) (-.f64 (fabs.f64 a) b))
(*.f64 (*.f64 (+.f64 a b) 2) (/.f64 (-.f64 a b) 2))
(*.f64 (*.f64 (-.f64 a b) 2) (/.f64 (+.f64 a b) 2))
(*.f64 -1 (-.f64 (*.f64 b b) (*.f64 a a)))
(*.f64 1/2 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2))
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 2)
(*.f64 (/.f64 (+.f64 a b) 2) (*.f64 (-.f64 a b) 2))
(*.f64 (/.f64 (-.f64 a b) 2) (*.f64 (+.f64 a b) 2))
(/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1)
(/.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 2)
(/.f64 (-.f64 (*.f64 b b) (*.f64 a a)) -1)
(/.f64 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4))) 8)
(/.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4))) (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4)))) 16)
(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/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/16 (/.f64 (/.f64 (pow.f64 a 6) (sqrt.f64 -1)) (pow.f64 b 5)))) (*.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 (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/16 (/.f64 (/.f64 (pow.f64 a 6) (pow.f64 b 5)) (sqrt.f64 -1)))) (*.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 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))))))
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 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.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 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 a (*.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 a) (*.f64 1/2 (/.f64 (pow.f64 b 2) a)))
(+.f64 (neg.f64 a) (*.f64 1/2 (/.f64 (pow.f64 b 2) 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/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1 a) (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8)))
(+.f64 (+.f64 (neg.f64 a) (*.f64 1/2 (/.f64 (pow.f64 b 2) a))) (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8))
(+.f64 (neg.f64 a) (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8)))
(+.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 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (+.f64 (*.f64 -1 a) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5)))) (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8)))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8) (+.f64 (neg.f64 a) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))))))
(+.f64 (neg.f64 a) (+.f64 (+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8)) (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5)))))
(+.f64 (*.f64 1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 1/16 (/.f64 (pow.f64 b 6) (pow.f64 a 5))) (+.f64 (neg.f64 a) (*.f64 (/.f64 (pow.f64 b 4) (pow.f64 a 3)) 1/8))))
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 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (*.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 (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)) (+.f64 (*.f64 -1/8 (/.f64 (pow.f64 b 4) (pow.f64 a 3))) (+.f64 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 (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/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (+.f64 (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/16 (/.f64 (/.f64 (pow.f64 a 6) (sqrt.f64 -1)) (pow.f64 b 5)))) (*.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 (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/16 (/.f64 (/.f64 (pow.f64 a 6) (pow.f64 b 5)) (sqrt.f64 -1)))) (*.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 (*.f64 1/2 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 1/16 (/.f64 (pow.f64 a 6) (*.f64 (sqrt.f64 -1) (pow.f64 b 5)))))))
(*.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 -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 (/.f64 (pow.f64 a 6) (sqrt.f64 -1)) (pow.f64 b 5)) -1/16))))
(+.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 (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 (/.f64 (pow.f64 a 6) (pow.f64 b 5)) (sqrt.f64 -1)) -1/16))))
(+.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 (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)) -1/2) (*.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 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(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 2 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 1/2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)
(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 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4)) 8)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4)) (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))) 16)
(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)))
(+.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 (*.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 -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 -1 (+.f64 (-.f64 1 (*.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 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 (*.f64 a a) (*.f64 b b)) 1)
(+.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 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 2 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 1/2)
(+.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 (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 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 (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 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 (+.f64 a b) 2) (/.f64 (-.f64 a b) 2))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (*.f64 (-.f64 a b) 2) (/.f64 (+.f64 a b) 2))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.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 1/2 (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (/.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 2)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (/.f64 (+.f64 a b) 2) (*.f64 (-.f64 a b) 2))
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(*.f64 (/.f64 (-.f64 a b) 2) (*.f64 (+.f64 a b) 2))
(+.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 (*.f64 a a) (*.f64 b b)) 2) 2)
(+.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 a b) (*.f64 (-.f64 a b) 4)) 4)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(/.f64 (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4))) 8)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(/.f64 (*.f64 2 (-.f64 (*.f64 b b) (*.f64 a a))) -2)
(+.f64 (*.f64 a a) (*.f64 b (neg.f64 b)))
(-.f64 (*.f64 a a) (*.f64 b b))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4))) (*.f64 2 (*.f64 (+.f64 a b) (*.f64 (-.f64 a b) 4)))) 16)
(+.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))

eval30.0ms (1%)

Compiler

Compiled 1781 to 1148 computations (35.5% saved)

prune13.0ms (0.5%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1023105
Fresh000
Picked101
Done000
Total1033106
Error
0.1b
Counts
106 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
30.4b
(sqrt.f64 (*.f64 (-.f64 a b) (+.f64 a b)))
32.1b
(neg.f64 a)
31.4b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

localize2.0ms (0.1%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize7.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
28.5b
(sqrt.f64 (*.f64 (-.f64 a b) (+.f64 a b)))
Compiler

Compiled 25 to 6 computations (76% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite68.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1428×exponential.json-3
1428×rational.json-1
1428×rational.json-2
1428×rational.json-4
1428×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
15823
212623
327823
454023
5140823
6417923
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (-.f64 a b) (+.f64 a 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 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))))) (#(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 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)))) (#(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 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)))) (#(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 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)))))

simplify77.0ms (2.7%)

Algorithm
egg-herbie
Rules
1040×rational.json-simplify-61
922×rational.json-simplify-46
894×rational.json-simplify-54
874×rational.json-simplify-1
844×rational.json-simplify-2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01562393
14082259
29242179
321442069
442001789
Stop Event
node limit
Counts
45 → 106
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (pow.f64 a 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (pow.f64 a 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (*.f64 (+.f64 b (*.f64 -1 b)) (pow.f64 a 3))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b))))))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) a)
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 2)) a)) a))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 2)) a)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) (-.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 2))) (pow.f64 a 2))) a)))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1))) 2)) a)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1))) 2)) a)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 a 2)))))))
a
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) b) a)) a)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) b) a)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) a)) 2)) (pow.f64 b 2)) a)) a))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) a)) 2) 1) (pow.f64 b 3))) (pow.f64 a 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) b) a)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) a)) 2)) (pow.f64 b 2)) a)) a)))
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 2)))) (*.f64 (sqrt.f64 -1) b))))
(*.f64 -1 (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1)))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 2)))))))
(+.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(-.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 0)
(*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(*.f64 1 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 1/2)
(*.f64 4 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 1/4)
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2) 2)
(*.f64 1/4 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8))) 32)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
Outputs
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (*.f64 a (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (*.f64 (+.f64 b (neg.f64 b)) (/.f64 a (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b)) (*.f64 a 1/2)))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 a)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (pow.f64 a 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (*.f64 a (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b)))) (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (pow.f64 a 2)) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (+.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (+.f64 b (neg.f64 b)) (/.f64 a (*.f64 (sqrt.f64 -1) b))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (+.f64 (*.f64 (+.f64 b (neg.f64 b)) (/.f64 a (*.f64 (sqrt.f64 -1) b))) (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (pow.f64 a 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (*.f64 (+.f64 b (*.f64 -1 b)) (pow.f64 a 3))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 3)))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b))))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (pow.f64 a 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (*.f64 a (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b)))) (*.f64 -1/4 (*.f64 (*.f64 (+.f64 b (*.f64 -1 b)) (pow.f64 a 3)) (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (*.f64 (sqrt.f64 -1) (pow.f64 b 3))))))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (+.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))) (*.f64 (+.f64 b (neg.f64 b)) (/.f64 a (*.f64 (sqrt.f64 -1) b))))) (*.f64 -1/4 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (/.f64 (*.f64 (+.f64 b (neg.f64 b)) (pow.f64 a 3)) (*.f64 (sqrt.f64 -1) (pow.f64 b 3)))))))
(+.f64 (*.f64 1/2 (+.f64 (*.f64 (+.f64 b (neg.f64 b)) (/.f64 a (*.f64 (sqrt.f64 -1) b))) (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b))))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (*.f64 (/.f64 (*.f64 (+.f64 b (neg.f64 b)) (/.f64 (pow.f64 a 3) (sqrt.f64 -1))) (pow.f64 b 3)) -1/4))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (*.f64 -1/4 (*.f64 (+.f64 b (neg.f64 b)) (/.f64 (/.f64 (pow.f64 a 3) (sqrt.f64 -1)) (pow.f64 b 3))))) (*.f64 1/2 (+.f64 (*.f64 (+.f64 b (neg.f64 b)) (/.f64 a (*.f64 (sqrt.f64 -1) b))) (*.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (*.f64 (sqrt.f64 -1) b))) 2)) (/.f64 (pow.f64 a 2) (*.f64 (sqrt.f64 -1) b)))))))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) a)
(+.f64 a (*.f64 1/2 (+.f64 b (*.f64 -1 b))))
(+.f64 a (*.f64 1/2 (+.f64 b (neg.f64 b))))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 2)) a)) a))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (*.f64 1/4 (pow.f64 (+.f64 b (*.f64 -1 b)) 2))) a)) (+.f64 a (*.f64 1/2 (+.f64 b (*.f64 -1 b)))))
(+.f64 a (+.f64 (*.f64 1/2 (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) 2)) a)) (*.f64 1/2 (+.f64 b (neg.f64 b)))))
(+.f64 a (*.f64 1/2 (+.f64 (+.f64 b (neg.f64 b)) (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (*.f64 1/4 (pow.f64 (+.f64 b (neg.f64 b)) 2))) a))))
(+.f64 a (*.f64 1/2 (+.f64 (+.f64 b (neg.f64 b)) (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) 2)) a))))
(+.f64 a (*.f64 1/2 (+.f64 (+.f64 b (neg.f64 b)) (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (*.f64 1/4 (*.f64 0 (pow.f64 (neg.f64 b) 2)))) a))))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 2)) a)) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) (-.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 2))) (pow.f64 a 2))) a)))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (*.f64 1/4 (pow.f64 (+.f64 b (*.f64 -1 b)) 2))) a)) (+.f64 a (*.f64 -1/4 (*.f64 (-.f64 (*.f64 -1 (pow.f64 b 2)) (*.f64 1/4 (pow.f64 (+.f64 b (*.f64 -1 b)) 2))) (/.f64 (+.f64 b (*.f64 -1 b)) (pow.f64 a 2)))))))
(+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (+.f64 (*.f64 1/2 (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) 2)) a)) (+.f64 a (*.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) 2)) (*.f64 (/.f64 (+.f64 b (neg.f64 b)) (pow.f64 a 2)) -1/4)))))
(+.f64 (+.f64 a (*.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (*.f64 1/4 (pow.f64 (+.f64 b (neg.f64 b)) 2))) (*.f64 -1/4 (/.f64 (+.f64 b (neg.f64 b)) (pow.f64 a 2))))) (*.f64 1/2 (+.f64 (+.f64 b (neg.f64 b)) (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (*.f64 1/4 (pow.f64 (+.f64 b (neg.f64 b)) 2))) a))))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) 2)) a)) (+.f64 a (*.f64 (+.f64 b (neg.f64 b)) (+.f64 1/2 (*.f64 -1/4 (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (pow.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) 2)) (pow.f64 a 2)))))))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (*.f64 1/4 (*.f64 0 (pow.f64 (neg.f64 b) 2)))) a)) (+.f64 a (*.f64 (+.f64 b (neg.f64 b)) (+.f64 1/2 (*.f64 -1/4 (/.f64 (-.f64 (neg.f64 (pow.f64 b 2)) (*.f64 1/4 (*.f64 0 (pow.f64 (neg.f64 b) 2)))) (pow.f64 a 2)))))))
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))
(*.f64 -1 (*.f64 a 1))
(neg.f64 a)
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 a 1)))
(+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (neg.f64 a))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1))) 2)) a)) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1)) 2))) a)) (+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 a 1))))
(+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (+.f64 (neg.f64 a) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1))) 2)) a))))
(+.f64 (+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (neg.f64 a)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) a)))
(+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (+.f64 (neg.f64 a) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) a))))
(+.f64 (neg.f64 a) (+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) a))))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1))) 2)) a)) (+.f64 (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 2) (pow.f64 a 2)))))))
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (+.f64 (*.f64 -1 (*.f64 a 1)) (+.f64 (*.f64 -1/4 (*.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1)) 2))) (/.f64 (+.f64 b (*.f64 -1 b)) (*.f64 1 (pow.f64 a 2))))) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (*.f64 -1 b)) (sqrt.f64 -1)) 2))) a)))))
(+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (+.f64 (neg.f64 a) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1))) 2)) a)) (*.f64 -1/4 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1))) 2)) (/.f64 (+.f64 b (neg.f64 b)) (pow.f64 a 2)))))))
(+.f64 (*.f64 1/2 (+.f64 b (neg.f64 b))) (+.f64 (neg.f64 a) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) a)) (*.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) (*.f64 -1/4 (/.f64 (+.f64 b (neg.f64 b)) (pow.f64 a 2)))))))
(+.f64 (neg.f64 a) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) a)) (*.f64 (+.f64 b (neg.f64 b)) (+.f64 1/2 (*.f64 -1/4 (/.f64 (-.f64 (pow.f64 b 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 b (neg.f64 b)) (sqrt.f64 -1)) 2))) (pow.f64 a 2)))))))
a
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) b) a)) a)
a
(+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) b) a)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) a)) 2)) (pow.f64 b 2)) a)) a))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 b 2) (/.f64 (+.f64 1 (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (*.f64 -1 a)) a) 2))) a))) (+.f64 a (*.f64 1/2 (*.f64 b (/.f64 (+.f64 a (*.f64 -1 a)) a)))))
(+.f64 a (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) a)) 2)) (/.f64 (pow.f64 b 2) a))) (*.f64 b (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) a)))))
(+.f64 (+.f64 a (*.f64 b (*.f64 1/2 (/.f64 (*.f64 a 0) a)))) (*.f64 (pow.f64 b 2) (*.f64 -1/2 (/.f64 (+.f64 1 (*.f64 1/4 (pow.f64 (/.f64 (*.f64 a 0) a) 2))) a))))
(+.f64 (*.f64 b (*.f64 1/2 (/.f64 0 a))) (+.f64 a (*.f64 (pow.f64 b 2) (*.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 0 a)) 2)) a)))))
(+.f64 a (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)))
(+.f64 (*.f64 1/4 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) (*.f64 (+.f64 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) a)) 2) 1) (pow.f64 b 3))) (pow.f64 a 3))) (+.f64 (*.f64 1/2 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) b) a)) (+.f64 (*.f64 -1/2 (/.f64 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) a)) 2)) (pow.f64 b 2)) a)) a)))
(+.f64 (*.f64 -1/2 (*.f64 (pow.f64 b 2) (/.f64 (+.f64 1 (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (*.f64 -1 a)) a) 2))) a))) (+.f64 a (*.f64 1/2 (*.f64 b (/.f64 (+.f64 a (*.f64 -1 a)) a)))))
(+.f64 a (+.f64 (*.f64 -1/2 (*.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) a)) 2)) (/.f64 (pow.f64 b 2) a))) (*.f64 b (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) a)))))
(+.f64 (+.f64 a (*.f64 b (*.f64 1/2 (/.f64 (*.f64 a 0) a)))) (*.f64 (pow.f64 b 2) (*.f64 -1/2 (/.f64 (+.f64 1 (*.f64 1/4 (pow.f64 (/.f64 (*.f64 a 0) a) 2))) a))))
(+.f64 (*.f64 b (*.f64 1/2 (/.f64 0 a))) (+.f64 a (*.f64 (pow.f64 b 2) (*.f64 -1/2 (/.f64 (+.f64 1 (pow.f64 (*.f64 1/2 (/.f64 0 a)) 2)) a)))))
(+.f64 a (*.f64 -1/2 (/.f64 (pow.f64 b 2) a)))
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 a 0) (sqrt.f64 -1))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 0 (sqrt.f64 -1))))
(+.f64 (*.f64 (sqrt.f64 -1) b) 0)
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1))) (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (+.f64 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (*.f64 a 0) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)) (/.f64 (*.f64 a 0) (sqrt.f64 -1)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (+.f64 (/.f64 0 (sqrt.f64 -1)) (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 0 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) 0) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (+.f64 (*.f64 -1/4 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 2)))) (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1))) (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (+.f64 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (*.f64 a 0) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)) (/.f64 (*.f64 a 0) (sqrt.f64 -1)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (+.f64 (/.f64 0 (sqrt.f64 -1)) (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 (sqrt.f64 -1) b) (+.f64 0 (*.f64 1/2 (/.f64 (-.f64 (pow.f64 a 2) 0) (*.f64 (sqrt.f64 -1) b)))))
(*.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 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 -1 (*.f64 (sqrt.f64 -1) b)))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (neg.f64 b)))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a 0) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (neg.f64 b)))
(+.f64 (*.f64 1/2 (/.f64 0 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (neg.f64 b)))
(+.f64 0 (*.f64 (sqrt.f64 -1) (neg.f64 b)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1)))))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 -1 (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) (neg.f64 b))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a 0) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (*.f64 a 0) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 1/2 (/.f64 0 (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 0 (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) 0) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 -1/4 (/.f64 (*.f64 (+.f64 a (*.f64 -1 a)) (-.f64 (pow.f64 a 2) (pow.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) 2))) (*.f64 (pow.f64 (sqrt.f64 -1) 3) (pow.f64 b 2)))))))
(+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b))) (+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 -1 (*.f64 (sqrt.f64 -1) b))))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1))) (+.f64 (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (+.f64 a (neg.f64 a)) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b))) (*.f64 (sqrt.f64 -1) (neg.f64 b))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 a 0) (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 (*.f64 a 0) (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 (*.f64 1/2 (/.f64 0 (sqrt.f64 -1))) (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) (*.f64 1/4 (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2))) (*.f64 (sqrt.f64 -1) b)))))
(+.f64 0 (+.f64 (*.f64 (sqrt.f64 -1) (neg.f64 b)) (*.f64 -1/2 (/.f64 (-.f64 (pow.f64 a 2) 0) (*.f64 (sqrt.f64 -1) b)))))
(+.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 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2) (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(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 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(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 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 1/2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 4 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 1/4)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 1/2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 1/4 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(*.f64 (/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)
(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 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 2) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 4) 4)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8) 8)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8)) 16)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 8))) 32)
(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)))

eval44.0ms (1.5%)

Compiler

Compiled 2933 to 2023 computations (31% saved)

prune14.0ms (0.5%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New1060106
Fresh011
Picked011
Done011
Total1063109
Error
0.1b
Counts
109 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
30.4b
(sqrt.f64 (*.f64 (-.f64 a b) (+.f64 a b)))
32.1b
(neg.f64 a)
31.4b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.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
30.4b
(sqrt.f64 (*.f64 (-.f64 a b) (+.f64 a b)))
32.1b
(neg.f64 a)
31.4b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune1.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
30.4b
(sqrt.f64 (*.f64 (-.f64 a b) (+.f64 a b)))
32.1b
(neg.f64 a)
31.4b
a
Compiler

Compiled 17 to 11 computations (35.3% saved)

regimes104.0ms (3.6%)

Accuracy

Total -63.1b remaining (-28156.1%)

Threshold costs -63.1b (-28156.1%)

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

6 calls:

54.0ms
b
15.0ms
(*.f64 b b)
10.0ms
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
9.0ms
(*.f64 a a)
8.0ms
(-.f64 (*.f64 a a) (*.f64 b b))
Results
ErrorSegmentsBranch
0.2b2a
17.3b17b
13.8b3(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
13.8b3(-.f64 (*.f64 a a) (*.f64 b b))
13.8b3(*.f64 a a)
21.5b8(*.f64 b b)
Compiler

Compiled 56 to 32 computations (42.9% saved)

bsearch17.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
-1.7177717443685346e-274
1.7222053739399443e-244
Results
16.0ms199×body256invalid
1.0msbody256valid
Compiler

Compiled 15 to 10 computations (33.3% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

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

Compiled 12 to 8 computations (33.3% saved)

soundness109.0ms (3.8%)

Algorithm
egg-herbie
Rules
1030×rational.json-simplify-1
912×rational.json-simplify-2
906×rational.json-simplify-51
760×rational.json-simplify-44
680×rational.json-simplify-19
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01703019
13592969
27132969
318992969
468192825
Stop Event
node limit
Compiler

Compiled 10 to 7 computations (30% saved)

end14.0ms (0.5%)

Compiler

Compiled 10 to 6 computations (40% saved)

Profiling

Loading profile data...