bug366, discussion (missed optimization)

Details

Time bar (total: 7.4s)

analyze978.0ms (13.2%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%199.8%-99.8%0%0%0%1
0%0%399.6%-299.6%0%0%0%2
0%0%799.2%-699.2%0%0%0%3
0%0%1598.4%-1498.4%0%0%0%4
0%0%3196.9%-3096.9%0%0%0%5
0%0%6393.8%-6293.8%0%0%0%6
0%0%12787.5%-12687.5%0%0%0%7
0%0%25575%-25475%0%0%0%8
0%0%51150%-51050%0%0%0%9
0%0%102300%-102200%0%0%0%10
0%0%204600%-204500%0%0%0%11
0%0%409200.1%-409100.1%0%0%0%12
Compiler

Compiled 11 to 7 computations (36.4% saved)

sample3.7s (49.4%)

Results
1.1s8172×body256invalid
869.0ms2591×body2048valid
860.0ms2103×body4096valid
466.0ms1654×body1024valid
196.0ms927×body512valid
136.0ms981×body256valid
Bogosity

preprocess168.0ms (2.3%)

Algorithm
egg-herbie
Rules
2428×fma-def
1134×sub-neg
988×distribute-rgt-in
972×distribute-lft-in
832×distribute-lft-out
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01146
13046
25146
310746
427946
581646
6207446
7381846
8547746
9609746
10621046
11632446
12640446
13640446
14778546
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 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (fma.f64 a a (*.f64 b (neg.f64 b))))
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
(sqrt.f64 (-.f64 (*.f64 b b) (*.f64 a a)))
(sqrt.f64 (fma.f64 b b (*.f64 a (neg.f64 a))))
(sqrt.f64 (*.f64 (-.f64 b a) (+.f64 a b)))
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify161.0ms (2.2%)

Algorithm
egg-herbie
Rules
2086×fma-def
1384×distribute-lft-out
996×distribute-lft-out--
982×unsub-neg
966×sub-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11923
23123
36023
413823
538623
685023
7171923
8387523
9553823
10639723
11676623
12699623
13711023
14711023
Stop Event
node limit
Counts
1 → 3
Calls
Call 1
Inputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
Outputs
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
(sqrt.f64 (fma.f64 a a (*.f64 b (neg.f64 b))))

eval1.0ms (0%)

Compiler

Compiled 26 to 14 computations (46.2% saved)

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Accurracy
55.8%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
Compiler

Compiled 20 to 12 computations (40% saved)

localize122.0ms (1.6%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
Compiler

Compiled 26 to 7 computations (73.1% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite68.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1104×prod-diff
944×log-prod
744×pow-prod-down
576×fma-def
486×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
119323
2266923
Stop Event
node limit
Counts
1 → 34
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
Outputs
(+.f64 0 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))) 1)
(*.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1)
(*.f64 1 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(*.f64 (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6))
(*.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6) (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(*.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4) (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4))
(*.f64 (sqrt.f64 (+.f64 a b)) (sqrt.f64 (-.f64 a b)))
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
(pow.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1)
(pow.f64 (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 3/2)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6) 3)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3/2) 1/3)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4) 2)
(pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/2)
(fabs.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))))
(cbrt.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(exp.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1) 1/2))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))

simplify59.0ms (0.8%)

Algorithm
egg-herbie
Rules
1660×fma-def
1424×associate-/l*
1296×associate-*l*
968×associate-/r*
706×associate-*r/
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01972120
15701680
225321312
Stop Event
node limit
Counts
58 → 85
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 0 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))) 1)
(*.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1)
(*.f64 1 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(*.f64 (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6))
(*.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6) (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(*.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4) (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4))
(*.f64 (sqrt.f64 (+.f64 a b)) (sqrt.f64 (-.f64 a b)))
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
(pow.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1)
(pow.f64 (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 3/2)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6) 3)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3/2) 1/3)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4) 2)
(pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/2)
(fabs.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))))
(cbrt.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(exp.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1) 1))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6)) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1) 1/2))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
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))))
(fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b))))
(fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b))
(fma.f64 (sqrt.f64 -1) b 0)
(+.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)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (*.f64 (sqrt.f64 -1) b))) 2)) (sqrt.f64 -1)) (/.f64 (*.f64 a a) b)) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (*.f64 a (/.f64 a b)) (sqrt.f64 -1)) (*.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))))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (*.f64 (sqrt.f64 -1) b))) 2)) (sqrt.f64 -1)) (/.f64 (*.f64 a a) b)) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (*.f64 a (/.f64 a b)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) b))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 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)) a))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 b (/.f64 a (neg.f64 b))) a) 0)
(fma.f64 -1/2 (/.f64 b (/.f64 a 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)) (+.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)))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 b (/.f64 a (neg.f64 b))) a) 0)
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)))
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))))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 b (/.f64 a (neg.f64 b))) a) 0)
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) 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)))))))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 b (/.f64 a (neg.f64 b))) a) 0)
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
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))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 b (/.f64 a (neg.f64 b))) a) 0)
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) 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)))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 b (/.f64 a (neg.f64 b))) a) 0)
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b))))
(fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b))
(fma.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)))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (*.f64 (sqrt.f64 -1) b))) 2)) (sqrt.f64 -1)) (/.f64 (*.f64 a a) b)) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (*.f64 a (/.f64 a b)) (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))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (*.f64 (sqrt.f64 -1) b))) 2)) (sqrt.f64 -1)) (/.f64 (*.f64 a a) b)) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (*.f64 a (/.f64 a b)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) b))
(*.f64 -1 (*.f64 (sqrt.f64 -1) b))
(neg.f64 (*.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))))
(neg.f64 (*.f64 (sqrt.f64 -1) b))
(*.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)))))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1)))))
(-.f64 (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) b)) (/.f64 0 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(fma.f64 (sqrt.f64 -1) (neg.f64 b) (/.f64 (/.f64 (*.f64 a a) (/.f64 b -1/2)) (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)))))))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1)))))
(-.f64 (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) b)) (/.f64 0 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(fma.f64 (sqrt.f64 -1) (neg.f64 b) (/.f64 (/.f64 (*.f64 a a) (/.f64 b -1/2)) (sqrt.f64 -1)))
(+.f64 0 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))) 2)) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))) 1)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(*.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(*.f64 1 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(*.f64 (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(*.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6) (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(*.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4) (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(*.f64 (sqrt.f64 (+.f64 a b)) (sqrt.f64 (-.f64 a b)))
(*.f64 (sqrt.f64 (+.f64 b a)) (sqrt.f64 (-.f64 a b)))
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
(*.f64 (sqrt.f64 (+.f64 b a)) (sqrt.f64 (-.f64 a b)))
(pow.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(pow.f64 (cbrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 3/2)
(pow.f64 (cbrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3/2)
(pow.f64 (cbrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a))) 3/2)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6) 3)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 2) 1/4)
(pow.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)) 2) 1/4)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3) 1/6)
(pow.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)) 3) 1/6)
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3/2) 1/3)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(pow.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/4) 2)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/2)
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(fabs.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(log.f64 (exp.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(cbrt.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 3/2))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(expm1.f64 (log1p.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1/2))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1/2) 1))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1) 1))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (fma.f64 a a (neg.f64 (*.f64 b b))) 1/6)) 3))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 1/3))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))) 2))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(exp.f64 (*.f64 (*.f64 (log.f64 (fma.f64 a a (neg.f64 (*.f64 b b)))) 1) 1/2))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))
(log1p.f64 (expm1.f64 (sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))))
(sqrt.f64 (fma.f64 a a (neg.f64 (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (fma.f64 b (neg.f64 b) (*.f64 a a)))

eval28.0ms (0.4%)

Compiler

Compiled 1590 to 950 computations (40.3% saved)

prune49.0ms (0.7%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New82385
Fresh000
Picked011
Done000
Total82486
Accurracy
75.9%
Counts
86 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
Compiler

Compiled 68 to 42 computations (38.2% saved)

localize157.0ms (2.1%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.9%
(/.f64 b (/.f64 a b))
100.0%
(sqrt.f64 (-.f64 a b))
100.0%
(sqrt.f64 (+.f64 a b))
99.7%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
Compiler

Compiled 47 to 13 computations (72.3% saved)

series11.0ms (0.1%)

Counts
4 → 64
Calls

24 calls:

TimeVariablePointExpression
2.0ms
b
@inf
(sqrt.f64 (-.f64 a b))
1.0ms
a
@inf
(sqrt.f64 (-.f64 a b))
1.0ms
b
@inf
(sqrt.f64 (+.f64 a b))
1.0ms
a
@0
(sqrt.f64 (-.f64 a b))
1.0ms
b
@0
(/.f64 b (/.f64 a b))

rewrite96.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
1388×log-prod
1140×prod-diff
644×pow-exp
636×fma-def
466×expm1-udef
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01258
126458
2379658
Stop Event
node limit
Counts
4 → 146
Calls
Call 1
Inputs
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 a b))
(sqrt.f64 (-.f64 a b))
(/.f64 b (/.f64 a b))
Outputs
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 3)
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1/2)
(pow.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3) 1/3)
(pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))
(cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 a b) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 3))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(+.f64 0 (sqrt.f64 (+.f64 a b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a b)))) 1)
(*.f64 (sqrt.f64 (+.f64 a b)) 1)
(*.f64 1 (sqrt.f64 (+.f64 a b)))
(*.f64 (cbrt.f64 (+.f64 a b)) (cbrt.f64 (sqrt.f64 (+.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) (cbrt.f64 (+.f64 a b)))
(*.f64 (pow.f64 (+.f64 a b) 1/4) (pow.f64 (+.f64 a b) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a b))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 a b)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a b)) 1/2))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 a b)))
(/.f64 (hypot.f64 (pow.f64 b 3/2) (pow.f64 a 3/2)) (hypot.f64 a (sqrt.f64 (*.f64 b (-.f64 b a)))))
(pow.f64 (+.f64 a b) 1/2)
(pow.f64 (sqrt.f64 (+.f64 a b)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) 3)
(pow.f64 (pow.f64 (+.f64 a b) 3/2) 1/3)
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
(fabs.f64 (sqrt.f64 (+.f64 a b)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a b)))))
(cbrt.f64 (pow.f64 (+.f64 a b) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a b))))
(hypot.f64 (sqrt.f64 b) (sqrt.f64 a))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 b))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a b))))
(exp.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b)))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (+.f64 a b))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a b))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a b))))
(+.f64 0 (sqrt.f64 (-.f64 a b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 a b)))) 1)
(*.f64 (sqrt.f64 (-.f64 a b)) 1)
(*.f64 1 (sqrt.f64 (-.f64 a b)))
(*.f64 (cbrt.f64 (-.f64 a b)) (cbrt.f64 (sqrt.f64 (-.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b))) (cbrt.f64 (-.f64 a b)))
(*.f64 (pow.f64 (-.f64 a b) 1/4) (pow.f64 (-.f64 a b) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 a b)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 a b)) 1/2))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (+.f64 a b)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 a 3) (pow.f64 b 3))) (hypot.f64 a (hypot.f64 b (sqrt.f64 (*.f64 a b)))))
(pow.f64 (-.f64 a b) 1/2)
(pow.f64 (sqrt.f64 (-.f64 a b)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b))) 3)
(pow.f64 (pow.f64 (-.f64 a b) 3/2) 1/3)
(pow.f64 (pow.f64 (-.f64 a b) 1/4) 2)
(fabs.f64 (sqrt.f64 (-.f64 a b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 a b)))))
(cbrt.f64 (pow.f64 (-.f64 a b) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 a b))))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 b)))
(hypot.f64 (sqrt.f64 (neg.f64 b)) (sqrt.f64 a))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 a b))))
(exp.f64 (*.f64 (log.f64 (-.f64 a b)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 a b))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 a b)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 a b)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 a b))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b)))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (-.f64 a b))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (-.f64 a b))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 a b))))
(+.f64 0 (*.f64 b (/.f64 b a)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))) (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (/.f64 b a)))) 1)
(*.f64 b (/.f64 b a))
(*.f64 (*.f64 b (/.f64 b a)) 1)
(*.f64 1 (*.f64 b (/.f64 b a)))
(*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 b a)))
(*.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) (pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 2) (cbrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 b a)))
(*.f64 (sqrt.f64 (*.f64 b (/.f64 b a))) (sqrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (neg.f64 b) (/.f64 1 (/.f64 (neg.f64 a) b)))
(*.f64 (/.f64 b a) b)
(*.f64 (/.f64 1 a) (/.f64 b (/.f64 1 b)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 b (cbrt.f64 (/.f64 a b))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 a b))) (/.f64 b (sqrt.f64 (/.f64 a b))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) a) (/.f64 (cbrt.f64 b) (/.f64 1 b)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (/.f64 a b)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (cbrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (/.f64 a b))) (/.f64 (cbrt.f64 b) (sqrt.f64 (/.f64 a b))))
(*.f64 (/.f64 (sqrt.f64 b) a) (/.f64 (sqrt.f64 b) (/.f64 1 b)))
(*.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (/.f64 a b)))
(*.f64 (/.f64 (sqrt.f64 b) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 (sqrt.f64 b) (cbrt.f64 (/.f64 a b))))
(*.f64 (/.f64 b 1) (/.f64 b a))
(*.f64 (*.f64 (/.f64 b a) 1) b)
(*.f64 (*.f64 (/.f64 b a) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b))
(*.f64 (*.f64 (/.f64 b a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (/.f64 b (neg.f64 a)) (neg.f64 b))
(pow.f64 (*.f64 b (/.f64 b a)) 1)
(pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 3)
(pow.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 b (/.f64 b a))) 2)
(pow.f64 (/.f64 a (*.f64 b b)) -1)
(pow.f64 (/.f64 (/.f64 a (*.f64 b b)) 1) -1)
(neg.f64 (/.f64 b (/.f64 (neg.f64 a) b)))
(sqrt.f64 (pow.f64 (*.f64 b (/.f64 b a)) 2))
(log.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 b (/.f64 b a)))))
(cbrt.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3))
(cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (/.f64 a b) 3)))
(expm1.f64 (log1p.f64 (*.f64 b (/.f64 b a))))
(exp.f64 (log.f64 (*.f64 b (/.f64 b a))))
(exp.f64 (*.f64 (log.f64 (*.f64 b (/.f64 b a))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (/.f64 b a))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b (/.f64 b a)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b (/.f64 b a)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 a (*.f64 b b))) -1))
(log1p.f64 (expm1.f64 (*.f64 b (/.f64 b a))))

simplify153.0ms (2.1%)

Algorithm
egg-herbie
Rules
1062×unswap-sqr
598×log-prod
488×fma-def
446×times-frac
430×associate-*r*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
05225498
112724906
249354450
Stop Event
node limit
Counts
210 → 249
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)))))))
(sqrt.f64 b)
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (sqrt.f64 b)))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (+.f64 (sqrt.f64 b) (*.f64 1/16 (*.f64 (pow.f64 a 3) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (pow.f64 b 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 a (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 b)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 a (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 a (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b)))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))) (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (pow.f64 b 3))))))
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(/.f64 (pow.f64 b 2) a)
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 3)
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1/2)
(pow.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3) 1/3)
(pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))
(cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 a b) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 3))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(+.f64 0 (sqrt.f64 (+.f64 a b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a b)))) 1)
(*.f64 (sqrt.f64 (+.f64 a b)) 1)
(*.f64 1 (sqrt.f64 (+.f64 a b)))
(*.f64 (cbrt.f64 (+.f64 a b)) (cbrt.f64 (sqrt.f64 (+.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) (cbrt.f64 (+.f64 a b)))
(*.f64 (pow.f64 (+.f64 a b) 1/4) (pow.f64 (+.f64 a b) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a b))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 a b)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a b)) 1/2))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 a b)))
(/.f64 (hypot.f64 (pow.f64 b 3/2) (pow.f64 a 3/2)) (hypot.f64 a (sqrt.f64 (*.f64 b (-.f64 b a)))))
(pow.f64 (+.f64 a b) 1/2)
(pow.f64 (sqrt.f64 (+.f64 a b)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) 3)
(pow.f64 (pow.f64 (+.f64 a b) 3/2) 1/3)
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
(fabs.f64 (sqrt.f64 (+.f64 a b)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a b)))))
(cbrt.f64 (pow.f64 (+.f64 a b) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a b))))
(hypot.f64 (sqrt.f64 b) (sqrt.f64 a))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 b))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a b))))
(exp.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b)))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (+.f64 a b))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a b))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a b))))
(+.f64 0 (sqrt.f64 (-.f64 a b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 a b)))) 1)
(*.f64 (sqrt.f64 (-.f64 a b)) 1)
(*.f64 1 (sqrt.f64 (-.f64 a b)))
(*.f64 (cbrt.f64 (-.f64 a b)) (cbrt.f64 (sqrt.f64 (-.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b))) (cbrt.f64 (-.f64 a b)))
(*.f64 (pow.f64 (-.f64 a b) 1/4) (pow.f64 (-.f64 a b) 1/4))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 a b)))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 a b)) 1/2))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (+.f64 a b)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 a 3) (pow.f64 b 3))) (hypot.f64 a (hypot.f64 b (sqrt.f64 (*.f64 a b)))))
(pow.f64 (-.f64 a b) 1/2)
(pow.f64 (sqrt.f64 (-.f64 a b)) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b))) 3)
(pow.f64 (pow.f64 (-.f64 a b) 3/2) 1/3)
(pow.f64 (pow.f64 (-.f64 a b) 1/4) 2)
(fabs.f64 (sqrt.f64 (-.f64 a b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 a b)))))
(cbrt.f64 (pow.f64 (-.f64 a b) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 a b))))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 b)))
(hypot.f64 (sqrt.f64 (neg.f64 b)) (sqrt.f64 a))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 a b))))
(exp.f64 (*.f64 (log.f64 (-.f64 a b)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 a b))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 a b)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 a b)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 a b))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b)))) 3))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (-.f64 a b))) 1/3))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (-.f64 a b))) 2))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 a b))))
(+.f64 0 (*.f64 b (/.f64 b a)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))) (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (/.f64 b a)))) 1)
(*.f64 b (/.f64 b a))
(*.f64 (*.f64 b (/.f64 b a)) 1)
(*.f64 1 (*.f64 b (/.f64 b a)))
(*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 b a)))
(*.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) (pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 2))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 2) (cbrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 b a)))
(*.f64 (sqrt.f64 (*.f64 b (/.f64 b a))) (sqrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (neg.f64 b) (/.f64 1 (/.f64 (neg.f64 a) b)))
(*.f64 (/.f64 b a) b)
(*.f64 (/.f64 1 a) (/.f64 b (/.f64 1 b)))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 b (cbrt.f64 (/.f64 a b))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 a b))) (/.f64 b (sqrt.f64 (/.f64 a b))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) a) (/.f64 (cbrt.f64 b) (/.f64 1 b)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (/.f64 a b)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (cbrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (/.f64 a b))) (/.f64 (cbrt.f64 b) (sqrt.f64 (/.f64 a b))))
(*.f64 (/.f64 (sqrt.f64 b) a) (/.f64 (sqrt.f64 b) (/.f64 1 b)))
(*.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (/.f64 a b)))
(*.f64 (/.f64 (sqrt.f64 b) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 (sqrt.f64 b) (cbrt.f64 (/.f64 a b))))
(*.f64 (/.f64 b 1) (/.f64 b a))
(*.f64 (*.f64 (/.f64 b a) 1) b)
(*.f64 (*.f64 (/.f64 b a) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b))
(*.f64 (*.f64 (/.f64 b a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 (/.f64 b (neg.f64 a)) (neg.f64 b))
(pow.f64 (*.f64 b (/.f64 b a)) 1)
(pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 3)
(pow.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 b (/.f64 b a))) 2)
(pow.f64 (/.f64 a (*.f64 b b)) -1)
(pow.f64 (/.f64 (/.f64 a (*.f64 b b)) 1) -1)
(neg.f64 (/.f64 b (/.f64 (neg.f64 a) b)))
(sqrt.f64 (pow.f64 (*.f64 b (/.f64 b a)) 2))
(log.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 b (/.f64 b a)))))
(cbrt.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3))
(cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (/.f64 a b) 3)))
(expm1.f64 (log1p.f64 (*.f64 b (/.f64 b a))))
(exp.f64 (log.f64 (*.f64 b (/.f64 b a))))
(exp.f64 (*.f64 (log.f64 (*.f64 b (/.f64 b a))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (/.f64 b a))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b (/.f64 b a)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b (/.f64 b a)))) 2))
(exp.f64 (*.f64 (log.f64 (/.f64 a (*.f64 b b))) -1))
(log1p.f64 (expm1.f64 (*.f64 b (/.f64 b a))))
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))))
(fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 0 b) a) (sqrt.f64 -1)) b)))
(fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b))
(fma.f64 (sqrt.f64 -1) b 0)
(+.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)))))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 (sqrt.f64 -1) b)) 2)) (/.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 0 b) a) (sqrt.f64 -1)) b))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (/.f64 a (/.f64 b a)) (sqrt.f64 -1)) (*.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))))))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 (sqrt.f64 -1) b)) 2)) (/.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 0 b) a) (sqrt.f64 -1)) b))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (/.f64 a (/.f64 b a)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) b))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 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)) a))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 -1 (*.f64 b b) 0) a) a) 0)
(fma.f64 1/2 (neg.f64 (/.f64 b (/.f64 a 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)) (+.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)))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 -1 (*.f64 b b) 0) a) a) 0)
(fma.f64 1/2 (neg.f64 (/.f64 b (/.f64 a b))) a)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)))
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))))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (sqrt.f64 -1)) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) 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)))))))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (sqrt.f64 -1)) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
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))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (sqrt.f64 -1)) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) 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)))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (sqrt.f64 -1)) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
(*.f64 (sqrt.f64 -1) b)
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 0 b) a) (sqrt.f64 -1)) b)))
(fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b))
(fma.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)))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 (sqrt.f64 -1) b)) 2)) (/.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 0 b) a) (sqrt.f64 -1)) b))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (/.f64 a (/.f64 b 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))))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 (sqrt.f64 -1) b)) 2)) (/.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (/.f64 (/.f64 (*.f64 (*.f64 0 b) a) (sqrt.f64 -1)) b))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (sqrt.f64 -1)) (/.f64 a (/.f64 b a))) (fma.f64 (sqrt.f64 -1) b (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (/.f64 (/.f64 a (/.f64 b a)) (sqrt.f64 -1)) (*.f64 (sqrt.f64 -1) b))
(*.f64 -1 (*.f64 (sqrt.f64 -1) b))
(neg.f64 (*.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))))
(neg.f64 (*.f64 (sqrt.f64 -1) b))
(*.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)))))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1)))))
(-.f64 (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) b)) (/.f64 0 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(-.f64 (*.f64 (/.f64 -1/2 b) (/.f64 (*.f64 a a) (sqrt.f64 -1))) (*.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)))))))
(fma.f64 -1 (*.f64 (sqrt.f64 -1) b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1))) 2)) (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1)))))
(-.f64 (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 (sqrt.f64 -1) b)) (/.f64 0 (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(-.f64 (*.f64 (/.f64 -1/2 b) (/.f64 (*.f64 a a) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(sqrt.f64 b)
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (sqrt.f64 b))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (sqrt.f64 b)))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 -1/8 (*.f64 (*.f64 a a) (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (sqrt.f64 b)))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 -1/8 (*.f64 a (*.f64 a (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (sqrt.f64 b)))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (+.f64 (sqrt.f64 b) (*.f64 1/16 (*.f64 (pow.f64 a 3) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (+.f64 (fma.f64 -1/8 (*.f64 (*.f64 a a) (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (sqrt.f64 b)) (*.f64 (*.f64 1/16 (pow.f64 a 3)) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 -1/8 (*.f64 a (*.f64 a (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (fma.f64 1/16 (*.f64 (pow.f64 a 3) (sqrt.f64 (/.f64 1 (pow.f64 b 5)))) (sqrt.f64 b))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a)))))
(fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 -1/8 (*.f64 (*.f64 b b) (sqrt.f64 (/.f64 1 (pow.f64 a 3)))))))
(+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 (*.f64 b b) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 a 3)))))))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (pow.f64 b 3))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))))))
(+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (fma.f64 1/16 (*.f64 (pow.f64 b 3) (sqrt.f64 (/.f64 1 (pow.f64 a 5)))) (*.f64 -1/8 (*.f64 (*.f64 b b) (sqrt.f64 (/.f64 1 (pow.f64 a 3))))))))
(+.f64 (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a)) (fma.f64 -1/8 (*.f64 b (*.f64 b (sqrt.f64 (/.f64 1 (pow.f64 a 3))))) (*.f64 (pow.f64 b 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 a 5)))))))
(*.f64 (sqrt.f64 -1) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 a (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 b)))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b)))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 b)) (/.f64 a (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b)))
(+.f64 (*.f64 1/2 (*.f64 (/.f64 a (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 b)) (/.f64 a (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b))))
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 b)) (/.f64 a (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 a a) -1/8) (neg.f64 (sqrt.f64 -1))))))
(+.f64 (*.f64 1/16 (*.f64 (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1) 5)) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))) (+.f64 (*.f64 1/2 (*.f64 (/.f64 a (sqrt.f64 -1)) (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 -1/8 (*.f64 (/.f64 (pow.f64 a 2) (pow.f64 (sqrt.f64 -1) 3)) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b)))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1) 5))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 b)) (/.f64 a (sqrt.f64 -1))) (fma.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (/.f64 (*.f64 a a) (pow.f64 (sqrt.f64 -1) 3))) (*.f64 (sqrt.f64 -1) (sqrt.f64 b)))))
(fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (/.f64 (pow.f64 a 3) (pow.f64 (sqrt.f64 -1) 5))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 b)) (/.f64 a (sqrt.f64 -1))) (fma.f64 (sqrt.f64 -1) (sqrt.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (/.f64 (*.f64 (*.f64 a a) -1/8) (neg.f64 (sqrt.f64 -1)))))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (*.f64 -1/2 (*.f64 b (sqrt.f64 (/.f64 1 a)))))
(fma.f64 -1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 a) (fma.f64 -1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 -1/8 (*.f64 (*.f64 b b) (sqrt.f64 (/.f64 1 (pow.f64 a 3)))))))
(+.f64 (sqrt.f64 a) (fma.f64 -1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 (*.f64 b b) (*.f64 -1/8 (sqrt.f64 (/.f64 1 (pow.f64 a 3)))))))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 -1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))) (*.f64 -1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (pow.f64 b 3))))))
(+.f64 (sqrt.f64 a) (fma.f64 -1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (fma.f64 -1/8 (*.f64 (*.f64 b b) (sqrt.f64 (/.f64 1 (pow.f64 a 3)))) (*.f64 (*.f64 (pow.f64 b 3) (sqrt.f64 (/.f64 1 (pow.f64 a 5)))) -1/16))))
(+.f64 (fma.f64 -1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a)) (fma.f64 -1/8 (*.f64 b (*.f64 b (sqrt.f64 (/.f64 1 (pow.f64 a 3))))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 (pow.f64 b 3) -1/16))))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(/.f64 (pow.f64 b 2) a)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(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)))
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 3)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1/2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3) 1/3)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(cbrt.f64 (pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 3))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 b a) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 a b) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 b a) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) 1))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 3))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1/3))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 0 (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a b)))) 1)
(sqrt.f64 (+.f64 b a))
(*.f64 (sqrt.f64 (+.f64 a b)) 1)
(sqrt.f64 (+.f64 b a))
(*.f64 1 (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(*.f64 (cbrt.f64 (+.f64 a b)) (cbrt.f64 (sqrt.f64 (+.f64 a b))))
(*.f64 (cbrt.f64 (+.f64 b a)) (cbrt.f64 (sqrt.f64 (+.f64 b a))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) (cbrt.f64 (+.f64 a b)))
(*.f64 (cbrt.f64 (+.f64 b a)) (cbrt.f64 (sqrt.f64 (+.f64 b a))))
(*.f64 (pow.f64 (+.f64 a b) 1/4) (pow.f64 (+.f64 a b) 1/4))
(sqrt.f64 (+.f64 b a))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a b))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 b a)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 b a))) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (cbrt.f64 (+.f64 b a)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a b)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 b a)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 b a))) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (cbrt.f64 (+.f64 b a)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 a b)))
(/.f64 (hypot.f64 (pow.f64 b 3/2) (pow.f64 a 3/2)) (hypot.f64 a (sqrt.f64 (*.f64 b (-.f64 b a)))))
(pow.f64 (+.f64 a b) 1/2)
(sqrt.f64 (+.f64 b a))
(pow.f64 (sqrt.f64 (+.f64 a b)) 1)
(sqrt.f64 (+.f64 b a))
(pow.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) 3)
(sqrt.f64 (+.f64 b a))
(pow.f64 (pow.f64 (+.f64 a b) 3/2) 1/3)
(sqrt.f64 (+.f64 b a))
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
(sqrt.f64 (+.f64 b a))
(fabs.f64 (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a b)))))
(sqrt.f64 (+.f64 b a))
(cbrt.f64 (pow.f64 (+.f64 a b) 3/2))
(sqrt.f64 (+.f64 b a))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(hypot.f64 (sqrt.f64 b) (sqrt.f64 a))
(sqrt.f64 (+.f64 b a))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 b))
(sqrt.f64 (+.f64 b a))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1) 1/2))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2) 1))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1) 1))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b)))) 3))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (+.f64 a b))) 1/3))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a b))) 2))
(sqrt.f64 (+.f64 b a))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(+.f64 0 (sqrt.f64 (-.f64 a b)))
(sqrt.f64 (-.f64 a b))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 a b)))) 1)
(sqrt.f64 (-.f64 a b))
(*.f64 (sqrt.f64 (-.f64 a b)) 1)
(sqrt.f64 (-.f64 a b))
(*.f64 1 (sqrt.f64 (-.f64 a b)))
(sqrt.f64 (-.f64 a b))
(*.f64 (cbrt.f64 (-.f64 a b)) (cbrt.f64 (sqrt.f64 (-.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b))) (cbrt.f64 (-.f64 a b)))
(*.f64 (cbrt.f64 (-.f64 a b)) (cbrt.f64 (sqrt.f64 (-.f64 a b))))
(*.f64 (pow.f64 (-.f64 a b) 1/4) (pow.f64 (-.f64 a b) 1/4))
(sqrt.f64 (-.f64 a b))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (fabs.f64 (cbrt.f64 (-.f64 a b))) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (cbrt.f64 (-.f64 a b)) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (pow.f64 1 1/2) (sqrt.f64 (-.f64 a b)))
(sqrt.f64 (-.f64 a b))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (-.f64 a b)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (-.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (fabs.f64 (cbrt.f64 (-.f64 a b))) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(*.f64 (cbrt.f64 (-.f64 a b)) (sqrt.f64 (cbrt.f64 (-.f64 a b))))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (+.f64 a b)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (+.f64 b a)))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 a 3) (pow.f64 b 3))) (hypot.f64 a (hypot.f64 b (sqrt.f64 (*.f64 a b)))))
(/.f64 (sqrt.f64 (-.f64 (pow.f64 a 3) (pow.f64 b 3))) (hypot.f64 a (hypot.f64 b (sqrt.f64 (*.f64 b a)))))
(pow.f64 (-.f64 a b) 1/2)
(sqrt.f64 (-.f64 a b))
(pow.f64 (sqrt.f64 (-.f64 a b)) 1)
(sqrt.f64 (-.f64 a b))
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b))) 3)
(sqrt.f64 (-.f64 a b))
(pow.f64 (pow.f64 (-.f64 a b) 3/2) 1/3)
(sqrt.f64 (-.f64 a b))
(pow.f64 (pow.f64 (-.f64 a b) 1/4) 2)
(sqrt.f64 (-.f64 a b))
(fabs.f64 (sqrt.f64 (-.f64 a b)))
(sqrt.f64 (-.f64 a b))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 a b))))
(sqrt.f64 (-.f64 a b))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 a b)))))
(sqrt.f64 (-.f64 a b))
(cbrt.f64 (pow.f64 (-.f64 a b) 3/2))
(sqrt.f64 (-.f64 a b))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 a b))))
(sqrt.f64 (-.f64 a b))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 (neg.f64 b)))
(hypot.f64 (sqrt.f64 (neg.f64 b)) (sqrt.f64 a))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 a b))))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (log.f64 (-.f64 a b)) 1/2))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 a b))) 1))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 a b)) 1) 1/2))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (*.f64 (log.f64 (-.f64 a b)) 1/2) 1))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 a b))) 1) 1))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 a b)))) 3))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (*.f64 3/2 (log.f64 (-.f64 a b))) 1/3))
(sqrt.f64 (-.f64 a b))
(exp.f64 (*.f64 (*.f64 1/4 (log.f64 (-.f64 a b))) 2))
(sqrt.f64 (-.f64 a b))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 a b))))
(sqrt.f64 (-.f64 a b))
(+.f64 0 (*.f64 b (/.f64 b a)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))) (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(-.f64 (exp.f64 (log1p.f64 (*.f64 b (/.f64 b a)))) 1)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (*.f64 b (/.f64 b a)) 1)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 1 (*.f64 b (/.f64 b a)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (pow.f64 (cbrt.f64 b) 2) (*.f64 (cbrt.f64 b) (/.f64 b a)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) (pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 2))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 2) (cbrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 b) (/.f64 b a)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (sqrt.f64 (*.f64 b (/.f64 b a))) (sqrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (neg.f64 b) (/.f64 1 (/.f64 (neg.f64 a) b)))
(*.f64 (neg.f64 b) (/.f64 1 (neg.f64 (/.f64 a b))))
(/.f64 (neg.f64 b) (neg.f64 (/.f64 a b)))
(*.f64 (/.f64 b a) b)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 1 a) (/.f64 b (/.f64 1 b)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 b (cbrt.f64 (/.f64 a b))))
(/.f64 (/.f64 b (cbrt.f64 (/.f64 a b))) (pow.f64 (cbrt.f64 (/.f64 a b)) 2))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 a b))) (/.f64 b (sqrt.f64 (/.f64 a b))))
(/.f64 (/.f64 b (sqrt.f64 (/.f64 a b))) (sqrt.f64 (/.f64 a b)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) a) (/.f64 (cbrt.f64 b) (/.f64 1 b)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) 1) (/.f64 (cbrt.f64 b) (/.f64 a b)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (cbrt.f64 (*.f64 b (/.f64 b a))))
(*.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) (/.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)))
(*.f64 (cbrt.f64 (/.f64 b (/.f64 a b))) (/.f64 (pow.f64 (cbrt.f64 b) 2) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)))
(*.f64 (/.f64 (pow.f64 (cbrt.f64 b) 2) (sqrt.f64 (/.f64 a b))) (/.f64 (cbrt.f64 b) (sqrt.f64 (/.f64 a b))))
(*.f64 (/.f64 1 (sqrt.f64 (/.f64 a b))) (/.f64 b (sqrt.f64 (/.f64 a b))))
(/.f64 (/.f64 b (sqrt.f64 (/.f64 a b))) (sqrt.f64 (/.f64 a b)))
(*.f64 (/.f64 (sqrt.f64 b) a) (/.f64 (sqrt.f64 b) (/.f64 1 b)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 (sqrt.f64 b) 1) (/.f64 (sqrt.f64 b) (/.f64 a b)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 (sqrt.f64 b) (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 (sqrt.f64 b) (cbrt.f64 (/.f64 a b))))
(*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (/.f64 a b)) 2)) (/.f64 b (cbrt.f64 (/.f64 a b))))
(/.f64 (/.f64 b (cbrt.f64 (/.f64 a b))) (pow.f64 (cbrt.f64 (/.f64 a b)) 2))
(*.f64 (/.f64 b 1) (/.f64 b a))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (*.f64 (/.f64 b a) 1) b)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (*.f64 (/.f64 b a) (pow.f64 (cbrt.f64 b) 2)) (cbrt.f64 b))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (*.f64 (/.f64 b a) (sqrt.f64 b)) (sqrt.f64 b))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(*.f64 (/.f64 b (neg.f64 a)) (neg.f64 b))
(*.f64 (neg.f64 b) (/.f64 1 (neg.f64 (/.f64 a b))))
(/.f64 (neg.f64 b) (neg.f64 (/.f64 a b)))
(pow.f64 (*.f64 b (/.f64 b a)) 1)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(pow.f64 (cbrt.f64 (*.f64 b (/.f64 b a))) 3)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(pow.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3) 1/3)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(pow.f64 (sqrt.f64 (*.f64 b (/.f64 b a))) 2)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(pow.f64 (/.f64 a (*.f64 b b)) -1)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(pow.f64 (/.f64 (/.f64 a (*.f64 b b)) 1) -1)
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(neg.f64 (/.f64 b (/.f64 (neg.f64 a) b)))
(*.f64 (neg.f64 b) (/.f64 1 (neg.f64 (/.f64 a b))))
(/.f64 (neg.f64 b) (neg.f64 (/.f64 a b)))
(sqrt.f64 (pow.f64 (*.f64 b (/.f64 b a)) 2))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(log.f64 (pow.f64 (exp.f64 b) (/.f64 b a)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 b (/.f64 b a)))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(cbrt.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(cbrt.f64 (/.f64 (pow.f64 b 3) (pow.f64 (/.f64 a b) 3)))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(expm1.f64 (log1p.f64 (*.f64 b (/.f64 b a))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (log.f64 (*.f64 b (/.f64 b a))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (*.f64 (log.f64 (*.f64 b (/.f64 b a))) 1))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 b (/.f64 b a))) 1) 1))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 b (/.f64 b a)))) 3))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 b (/.f64 b a)) 3)) 1/3))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 b (/.f64 b a)))) 2))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(exp.f64 (*.f64 (log.f64 (/.f64 a (*.f64 b b))) -1))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))
(log1p.f64 (expm1.f64 (*.f64 b (/.f64 b a))))
(*.f64 b (/.f64 b a))
(/.f64 b (/.f64 a b))

eval75.0ms (1%)

Compiler

Compiled 4547 to 2325 computations (48.9% saved)

prune38.0ms (0.5%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New2481249
Fresh011
Picked022
Done011
Total2485253
Accurracy
75.9%
Counts
253 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
46.8%
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
46.8%
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
Compiler

Compiled 96 to 62 computations (35.4% saved)

localize138.0ms (1.9%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
100.0%
(sqrt.f64 (-.f64 a b))
99.7%
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
99.7%
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
Compiler

Compiled 41 to 19 computations (53.7% saved)

series10.0ms (0.1%)

Counts
2 → 48
Calls

12 calls:

TimeVariablePointExpression
2.0ms
a
@0
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
1.0ms
b
@-inf
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
1.0ms
a
@-inf
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
1.0ms
b
@0
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
1.0ms
b
@inf
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)

rewrite74.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1168×log-prod
1068×prod-diff
632×pow-exp
630×pow-prod-up
614×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01342
128434
2348834
Stop Event
node limit
Counts
2 → 59
Calls
Call 1
Inputs
(pow.f64 (pow.f64 (+.f64 a b) 1/4) 2)
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
Outputs
(+.f64 0 (sqrt.f64 (+.f64 a b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a b)))) 1)
(*.f64 (pow.f64 (+.f64 a b) 1/4) (pow.f64 (+.f64 a b) 1/4))
(*.f64 (sqrt.f64 (+.f64 a b)) 1)
(*.f64 1 (sqrt.f64 (+.f64 a b)))
(*.f64 (cbrt.f64 (+.f64 a b)) (cbrt.f64 (sqrt.f64 (+.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) (cbrt.f64 (+.f64 a b)))
(*.f64 (pow.f64 (+.f64 a b) 1/8) (pow.f64 (+.f64 a b) 3/8))
(*.f64 (pow.f64 (+.f64 a b) 3/8) (pow.f64 (+.f64 a b) 1/8))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a b))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a b)) 1/2))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 a b)) 5/6) (cbrt.f64 (pow.f64 (+.f64 a b) 1/4)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 a b)))
(/.f64 (hypot.f64 (pow.f64 b 3/2) (pow.f64 a 3/2)) (hypot.f64 a (sqrt.f64 (*.f64 b (-.f64 b a)))))
(sqrt.f64 (+.f64 a b))
(fabs.f64 (sqrt.f64 (+.f64 a b)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a b)))))
(cbrt.f64 (pow.f64 (+.f64 a b) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a b))))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 b))
(hypot.f64 (sqrt.f64 b) (sqrt.f64 a))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a b))))
(exp.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a b))) 1) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b)))) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (+.f64 a b))) 1/4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 3/2)) 1/3))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a b))))
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2) 1/3)
(pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 2)
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1/2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 a b) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 a b) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 2))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))

simplify131.0ms (1.8%)

Algorithm
egg-herbie
Rules
1094×distribute-lft-in
1084×distribute-rgt-in
760×fma-def
560×associate-*r*
472×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
04455469
112654805
251084147
Stop Event
node limit
Counts
107 → 179
Calls
Call 1
Inputs
(sqrt.f64 b)
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))))) (sqrt.f64 b)))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 7/64 (sqrt.f64 (/.f64 1 (pow.f64 b 5)))) (*.f64 -3/64 (sqrt.f64 (/.f64 1 (pow.f64 b 5)))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))))) (sqrt.f64 b))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))))) (+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))))))
(+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 b (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2)))))) (+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (+.f64 (*.f64 1/384 (pow.f64 b 3)) (+.f64 (*.f64 1/12 (pow.f64 b 3)) (*.f64 -1/32 (pow.f64 b 3)))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) a)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) a)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) a)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 b (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 3)) (+.f64 (*.f64 -1/384 (pow.f64 b 3)) (*.f64 -1/12 (pow.f64 b 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)))) (pow.f64 a 3)))))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3))))) (pow.f64 b 2))))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 (+.f64 (*.f64 7/64 (sqrt.f64 (/.f64 1 (pow.f64 a 5)))) (*.f64 -3/64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))))) (pow.f64 b 3)) (*.f64 (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3))))) (pow.f64 b 2)))))
(sqrt.f64 b)
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2))))) (+.f64 (sqrt.f64 b) (*.f64 1/16 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))))))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2))))) (+.f64 (sqrt.f64 b) (+.f64 (*.f64 1/2 (*.f64 (*.f64 a (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2)))) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (+.f64 (*.f64 -1/32 (pow.f64 a 3)) (+.f64 (*.f64 1/12 (pow.f64 a 3)) (*.f64 1/384 (pow.f64 a 3)))))) (*.f64 1/16 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))))))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (*.f64 1/2 (/.f64 (*.f64 a (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) b)))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) b)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) (pow.f64 b 2))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2)))) (pow.f64 b 2))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/12 (pow.f64 a 3)) (+.f64 (*.f64 1/32 (pow.f64 a 3)) (*.f64 -1/384 (pow.f64 a 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2))) (*.f64 -1/2 (*.f64 a (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2))))))) (pow.f64 b 3))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) b)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) (pow.f64 b 2))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2)))) (pow.f64 b 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 (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 0 (sqrt.f64 (+.f64 a b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a b)))) 1)
(*.f64 (pow.f64 (+.f64 a b) 1/4) (pow.f64 (+.f64 a b) 1/4))
(*.f64 (sqrt.f64 (+.f64 a b)) 1)
(*.f64 1 (sqrt.f64 (+.f64 a b)))
(*.f64 (cbrt.f64 (+.f64 a b)) (cbrt.f64 (sqrt.f64 (+.f64 a b))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) (cbrt.f64 (+.f64 a b)))
(*.f64 (pow.f64 (+.f64 a b) 1/8) (pow.f64 (+.f64 a b) 3/8))
(*.f64 (pow.f64 (+.f64 a b) 3/8) (pow.f64 (+.f64 a b) 1/8))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a b))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a b)) 1/2))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 a b)) 5/6) (cbrt.f64 (pow.f64 (+.f64 a b) 1/4)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 a b)))
(/.f64 (hypot.f64 (pow.f64 b 3/2) (pow.f64 a 3/2)) (hypot.f64 a (sqrt.f64 (*.f64 b (-.f64 b a)))))
(sqrt.f64 (+.f64 a b))
(fabs.f64 (sqrt.f64 (+.f64 a b)))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a b)))))
(cbrt.f64 (pow.f64 (+.f64 a b) 3/2))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a b))))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 b))
(hypot.f64 (sqrt.f64 b) (sqrt.f64 a))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a b))))
(exp.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1) 1/2))
(exp.f64 (*.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a b))) 1) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b)))) 3))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (+.f64 a b))) 1/4))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 3/2)) 1/3))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a b))))
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(pow.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1)
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 3)
(pow.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2) 1/3)
(pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 2)
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1/2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 a b) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 a b) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2)) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 2))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
Outputs
(sqrt.f64 b)
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (sqrt.f64 b))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))))) (sqrt.f64 b)))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 (*.f64 a a) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) -1/8) (sqrt.f64 b)))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 (pow.f64 a 3) (+.f64 (*.f64 7/64 (sqrt.f64 (/.f64 1 (pow.f64 b 5)))) (*.f64 -3/64 (sqrt.f64 (/.f64 1 (pow.f64 b 5)))))) (+.f64 (*.f64 (pow.f64 a 2) (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 b 3)))))) (sqrt.f64 b))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 (pow.f64 a 3) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) 1/16) (fma.f64 (*.f64 a a) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) -1/8) (sqrt.f64 b))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 (pow.f64 a 3) (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 b 5)))) (fma.f64 (*.f64 a a) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) -1/8) (sqrt.f64 b))))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 a))) b))
(fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a))
(+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))))) (+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))))))
(fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 (*.f64 b b) -3/32)) (+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 b b))))))
(+.f64 (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 1/16 (*.f64 b b)))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 b (*.f64 b -3/32))) (sqrt.f64 a)))
(+.f64 (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/16 (*.f64 b b)) (*.f64 (*.f64 b (*.f64 b -3/32)) 2))))
(+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))))) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 b (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2)))))) (+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (+.f64 (*.f64 1/384 (pow.f64 b 3)) (+.f64 (*.f64 1/12 (pow.f64 b 3)) (*.f64 -1/32 (pow.f64 b 3)))))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (pow.f64 b 2))))))))
(fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 (*.f64 b b) -3/32)) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 b (*.f64 (*.f64 b b) -3/32))) (+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (fma.f64 1/384 (pow.f64 b 3) (*.f64 (pow.f64 b 3) 5/96))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 b b))))))))
(fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 b (*.f64 b -3/32))) (+.f64 (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 (pow.f64 b 3) 7/128)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) (*.f64 1/16 (*.f64 b b))))) (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 (pow.f64 b 3) -3/32)) (sqrt.f64 a))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2)
(pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2)
(+.f64 (*.f64 1/2 (/.f64 (*.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) a)) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2))
(fma.f64 1/2 (/.f64 b (/.f64 a (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))
(fma.f64 1/2 (*.f64 (/.f64 b a) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2))
(fma.f64 1/2 (*.f64 (/.f64 b a) (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2)) (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) a)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2))))
(fma.f64 1/2 (/.f64 b (/.f64 a (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (fma.f64 1/16 (/.f64 (*.f64 b b) (/.f64 (*.f64 a a) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (fma.f64 2 (/.f64 (*.f64 (*.f64 b b) -3/32) (/.f64 (*.f64 a a) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))))
(fma.f64 1/2 (*.f64 (/.f64 b a) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2)) (fma.f64 1/16 (*.f64 (/.f64 b (/.f64 a b)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2) a)) (fma.f64 2 (*.f64 (/.f64 (*.f64 b (*.f64 b -3/32)) a) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2) a)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2))))
(fma.f64 1/2 (*.f64 (/.f64 b a) (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2)) (fma.f64 1/16 (*.f64 (/.f64 b (/.f64 a b)) (/.f64 (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2) a)) (fma.f64 2 (*.f64 (/.f64 (*.f64 b (*.f64 b -3/32)) a) (/.f64 (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2) a)) (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2))))
(+.f64 (*.f64 1/2 (/.f64 (*.f64 b (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) a)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 b 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (+.f64 (*.f64 2 (/.f64 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)) (pow.f64 a 2))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2) (*.f64 -1 (/.f64 (+.f64 (*.f64 -1/2 (*.f64 b (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 2)) (*.f64 -1/8 (pow.f64 b 2))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)))) (*.f64 2 (*.f64 (+.f64 (*.f64 1/32 (pow.f64 b 3)) (+.f64 (*.f64 -1/384 (pow.f64 b 3)) (*.f64 -1/12 (pow.f64 b 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 -1) (*.f64 -1 (log.f64 (/.f64 -1 a)))))) 2)))) (pow.f64 a 3)))))))
(fma.f64 1/2 (/.f64 b (/.f64 a (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (fma.f64 1/16 (/.f64 (*.f64 b b) (/.f64 (*.f64 a a) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (+.f64 (fma.f64 2 (/.f64 (*.f64 (*.f64 b b) -3/32) (/.f64 (*.f64 a a) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2)) (neg.f64 (/.f64 (fma.f64 -1/2 (*.f64 b (*.f64 (*.f64 (*.f64 b b) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (*.f64 (*.f64 2 (fma.f64 1/32 (pow.f64 b 3) (*.f64 (pow.f64 b 3) -11/128))) (pow.f64 (pow.f64 (exp.f64 1/4) (+.f64 (log.f64 -1) (neg.f64 (log.f64 (/.f64 -1 a))))) 2))) (pow.f64 a 3))))))
(fma.f64 1/2 (*.f64 (/.f64 b a) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2)) (fma.f64 1/16 (*.f64 (/.f64 b (/.f64 a b)) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2) a)) (-.f64 (fma.f64 2 (*.f64 (/.f64 (*.f64 b (*.f64 b -3/32)) a) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2) a)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2)) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2) (*.f64 (pow.f64 b 3) -7/128)) (*.f64 (*.f64 (pow.f64 b 3) -3/32) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 a)))) 2) -1/2))) (pow.f64 a 3)))))
(-.f64 (fma.f64 1/2 (*.f64 (/.f64 b a) (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2)) (fma.f64 1/16 (*.f64 (/.f64 b (/.f64 a b)) (/.f64 (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2) a)) (fma.f64 2 (*.f64 (/.f64 (*.f64 b (*.f64 b -3/32)) a) (/.f64 (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2) a)) (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2)))) (/.f64 (fma.f64 2 (*.f64 (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2) (*.f64 (pow.f64 b 3) -7/128)) (*.f64 (*.f64 (pow.f64 b 3) -3/32) (*.f64 (pow.f64 (*.f64 (pow.f64 -1 1/4) (pow.f64 (/.f64 -1 a) -1/4)) 2) -1/2))) (pow.f64 a 3)))
(sqrt.f64 a)
(+.f64 (sqrt.f64 a) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)))
(+.f64 (sqrt.f64 a) (*.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 a))) b))
(fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (*.f64 (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3))))) (pow.f64 b 2))))
(+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (*.f64 (*.f64 b b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) -1/8))))
(+.f64 (sqrt.f64 a) (fma.f64 (*.f64 b b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) -1/8) (*.f64 b (*.f64 1/2 (sqrt.f64 (/.f64 1 a))))))
(+.f64 (sqrt.f64 a) (*.f64 b (+.f64 (*.f64 1/2 (sqrt.f64 (/.f64 1 a))) (*.f64 b (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) -1/8)))))
(+.f64 (sqrt.f64 a) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 a)) b)) (+.f64 (*.f64 (+.f64 (*.f64 7/64 (sqrt.f64 (/.f64 1 (pow.f64 a 5)))) (*.f64 -3/64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))))) (pow.f64 b 3)) (*.f64 (+.f64 (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3)))) (*.f64 -3/16 (sqrt.f64 (/.f64 1 (pow.f64 a 3))))) (pow.f64 b 2)))))
(+.f64 (sqrt.f64 a) (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (fma.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) 1/16) (pow.f64 b 3) (*.f64 (*.f64 b b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) -1/8)))))
(+.f64 (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a)) (fma.f64 (*.f64 b b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) -1/8) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 5))) (*.f64 1/16 (pow.f64 b 3)))))
(+.f64 (fma.f64 1/2 (*.f64 b (sqrt.f64 (/.f64 1 a))) (sqrt.f64 a)) (*.f64 (*.f64 b b) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 a 3))) -1/8) (*.f64 b (*.f64 1/16 (sqrt.f64 (/.f64 1 (pow.f64 a 5))))))))
(sqrt.f64 b)
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (sqrt.f64 b))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (sqrt.f64 b))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2))))) (+.f64 (sqrt.f64 b) (*.f64 1/16 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (*.f64 (*.f64 a a) -3/32)) (+.f64 (sqrt.f64 b) (*.f64 (*.f64 1/16 (*.f64 a a)) (sqrt.f64 (/.f64 1 (pow.f64 b 3)))))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (*.f64 a (*.f64 a -3/32))) (fma.f64 1/16 (*.f64 (*.f64 a a) (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (sqrt.f64 b))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (+.f64 (sqrt.f64 b) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (+.f64 (*.f64 (*.f64 a a) 1/16) (*.f64 (*.f64 a (*.f64 a -3/32)) 2)))))
(+.f64 (*.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b)))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2))))) (+.f64 (sqrt.f64 b) (+.f64 (*.f64 1/2 (*.f64 (*.f64 a (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2)))) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))) (+.f64 (*.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (+.f64 (*.f64 -1/32 (pow.f64 a 3)) (+.f64 (*.f64 1/12 (pow.f64 a 3)) (*.f64 1/384 (pow.f64 a 3)))))) (*.f64 1/16 (*.f64 (pow.f64 a 2) (sqrt.f64 (/.f64 1 (pow.f64 b 3))))))))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (*.f64 (*.f64 a a) -3/32)) (+.f64 (sqrt.f64 b) (fma.f64 1/2 (*.f64 a (*.f64 (*.f64 (*.f64 a a) -3/32) (sqrt.f64 (/.f64 1 (pow.f64 b 5))))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (fma.f64 -1/32 (pow.f64 a 3) (*.f64 (pow.f64 a 3) 11/128))) (*.f64 (*.f64 1/16 (*.f64 a a)) (sqrt.f64 (/.f64 1 (pow.f64 b 3)))))))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (+.f64 (fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (*.f64 (pow.f64 a 3) -3/32)) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (*.f64 (pow.f64 a 3) 7/128)) (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (*.f64 (*.f64 a a) 1/16)))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (*.f64 a (*.f64 a -3/32))) (sqrt.f64 b))))
(fma.f64 1/2 (*.f64 a (sqrt.f64 (/.f64 1 b))) (fma.f64 2 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 3))) (*.f64 a (*.f64 a -3/32))) (+.f64 (*.f64 (sqrt.f64 (/.f64 1 (pow.f64 b 5))) (+.f64 (*.f64 1/2 (*.f64 (pow.f64 a 3) -3/32)) (*.f64 (*.f64 (pow.f64 a 3) 7/128) 2))) (fma.f64 1/16 (*.f64 (*.f64 a a) (sqrt.f64 (/.f64 1 (pow.f64 b 3)))) (sqrt.f64 b)))))
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2)
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)
(pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (*.f64 1/2 (/.f64 (*.f64 a (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) b)))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2) (*.f64 1/2 (/.f64 a (/.f64 b (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2)))))
(fma.f64 1/2 (*.f64 (/.f64 a b) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2))
(fma.f64 1/2 (*.f64 (/.f64 a b) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2))
(+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) b)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) (pow.f64 b 2))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2)))) (pow.f64 b 2))))))
(+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2) (fma.f64 1/2 (/.f64 a (/.f64 b (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2))) (fma.f64 1/16 (/.f64 (*.f64 a a) (/.f64 (*.f64 b b) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2))) (*.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2) (/.f64 (*.f64 b b) (*.f64 (*.f64 a a) -3/32)))))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 a b) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)) (fma.f64 2 (*.f64 (/.f64 (*.f64 a (*.f64 a -3/32)) b) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2) b)) (/.f64 1/16 (/.f64 (*.f64 b b) (*.f64 (*.f64 a a) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2))))))
(+.f64 (fma.f64 1/2 (*.f64 (/.f64 a b) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (*.f64 a (*.f64 a -3/32)) b) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2) b)) (/.f64 1/16 (/.f64 (*.f64 b b) (*.f64 (*.f64 a a) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2))))))
(+.f64 (*.f64 -1 (/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 -1/12 (pow.f64 a 3)) (+.f64 (*.f64 1/32 (pow.f64 a 3)) (*.f64 -1/384 (pow.f64 a 3)))) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2))) (*.f64 -1/2 (*.f64 a (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2))))))) (pow.f64 b 3))) (+.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 1/2 (/.f64 (*.f64 a (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) b)) (+.f64 (*.f64 1/16 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2)) (pow.f64 b 2))) (*.f64 2 (/.f64 (*.f64 (pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (*.f64 -1 (log.f64 (/.f64 -1 b))) (log.f64 -1)))) 2) (+.f64 (*.f64 -1/8 (pow.f64 a 2)) (*.f64 1/32 (pow.f64 a 2)))) (pow.f64 b 2)))))))
(fma.f64 -1 (/.f64 (fma.f64 2 (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2) (fma.f64 -1/12 (pow.f64 a 3) (*.f64 (pow.f64 a 3) 11/384))) (*.f64 (*.f64 -1/2 a) (*.f64 (*.f64 (*.f64 a a) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2)))) (pow.f64 b 3)) (+.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2) (fma.f64 1/2 (/.f64 a (/.f64 b (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2))) (fma.f64 1/16 (/.f64 (*.f64 a a) (/.f64 (*.f64 b b) (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2))) (*.f64 2 (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (fma.f64 -1 (log.f64 (/.f64 -1 b)) (log.f64 -1))) 2) (/.f64 (*.f64 b b) (*.f64 (*.f64 a a) -3/32))))))))
(-.f64 (+.f64 (fma.f64 1/2 (*.f64 (/.f64 a b) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)) (fma.f64 2 (*.f64 (/.f64 (*.f64 a (*.f64 a -3/32)) b) (/.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2) b)) (/.f64 1/16 (/.f64 (*.f64 b b) (*.f64 (*.f64 a a) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)))))) (/.f64 (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 a 3) -3/32) (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2)) (*.f64 (pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 -1) (log.f64 (/.f64 -1 b)))) 2) (*.f64 2 (*.f64 (pow.f64 a 3) -7/128)))) (pow.f64 b 3)))
(-.f64 (+.f64 (fma.f64 1/2 (*.f64 (/.f64 a b) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)) (fma.f64 2 (*.f64 (/.f64 (*.f64 a (*.f64 a -3/32)) b) (/.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2) b)) (/.f64 1/16 (/.f64 (*.f64 b b) (*.f64 (*.f64 a a) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)))))) (/.f64 (fma.f64 -1/2 (*.f64 (*.f64 (pow.f64 a 3) -3/32) (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2)) (*.f64 (pow.f64 (*.f64 (pow.f64 (/.f64 -1 b) -1/4) (pow.f64 -1 1/4)) 2) (*.f64 2 (*.f64 (pow.f64 a 3) -7/128)))) (pow.f64 b 3)))
(*.f64 (sqrt.f64 -1) b)
(*.f64 b (sqrt.f64 -1))
(+.f64 (*.f64 (sqrt.f64 -1) b) (*.f64 1/2 (/.f64 (*.f64 (+.f64 b (*.f64 -1 b)) a) (*.f64 (sqrt.f64 -1) b))))
(fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b))))
(fma.f64 b (sqrt.f64 -1) (/.f64 (/.f64 0 (sqrt.f64 -1)) b))
(fma.f64 b (sqrt.f64 -1) 0)
(+.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)))))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 b (sqrt.f64 -1))) 2)) (/.f64 (*.f64 b (sqrt.f64 -1)) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (*.f64 b (sqrt.f64 -1))) (*.f64 a a)) (fma.f64 b (sqrt.f64 -1) (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (*.f64 (/.f64 a b) (/.f64 a (sqrt.f64 -1))) (*.f64 b (sqrt.f64 -1)))
(+.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))))))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 b (sqrt.f64 -1))) 2)) (/.f64 (*.f64 b (sqrt.f64 -1)) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (*.f64 b (sqrt.f64 -1))) (*.f64 a a)) (fma.f64 b (sqrt.f64 -1) (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (*.f64 (/.f64 a b) (/.f64 a (sqrt.f64 -1))) (*.f64 b (sqrt.f64 -1)))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) 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)) a))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 (*.f64 b b) -1 0) a) a) 0)
(fma.f64 1/2 (/.f64 (neg.f64 b) (/.f64 a 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)) (+.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)))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 1/2 (/.f64 (-.f64 (neg.f64 (*.f64 b b)) (pow.f64 (*.f64 1/2 (*.f64 0 b)) 2)) a) a))
(+.f64 (fma.f64 1/2 (/.f64 (fma.f64 (*.f64 b b) -1 0) a) a) 0)
(fma.f64 1/2 (/.f64 (neg.f64 b) (/.f64 a b)) a)
(*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a))
a
(+.f64 (*.f64 1/2 (+.f64 b (*.f64 -1 b))) (*.f64 -1 (*.f64 (pow.f64 (sqrt.f64 -1) 2) a)))
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))))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (sqrt.f64 -1))) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) 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)))))))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (sqrt.f64 -1))) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
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))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (sqrt.f64 -1))) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) 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)))
(fma.f64 1/2 (*.f64 0 b) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 b) (sqrt.f64 -1))) 2)) a) (neg.f64 (*.f64 a (pow.f64 (sqrt.f64 -1) 2)))))
(fma.f64 -1/2 (/.f64 (-.f64 (*.f64 b b) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) a) (*.f64 a 1))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
(*.f64 (sqrt.f64 -1) b)
(*.f64 b (sqrt.f64 -1))
(+.f64 (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))) (*.f64 (sqrt.f64 -1) b))
(fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b))))
(fma.f64 b (sqrt.f64 -1) (/.f64 (/.f64 0 (sqrt.f64 -1)) b))
(fma.f64 b (sqrt.f64 -1) 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)))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 b (sqrt.f64 -1))) 2)) (/.f64 (*.f64 b (sqrt.f64 -1)) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (*.f64 b (sqrt.f64 -1))) (*.f64 a a)) (fma.f64 b (sqrt.f64 -1) (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (*.f64 (/.f64 a b) (/.f64 a (sqrt.f64 -1))) (*.f64 b (sqrt.f64 -1)))
(+.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))))
(fma.f64 1/2 (/.f64 (-.f64 1 (pow.f64 (/.f64 (*.f64 1/2 (*.f64 0 b)) (*.f64 b (sqrt.f64 -1))) 2)) (/.f64 (*.f64 b (sqrt.f64 -1)) (*.f64 a a))) (fma.f64 (sqrt.f64 -1) b (*.f64 1/2 (*.f64 (/.f64 (*.f64 0 b) (sqrt.f64 -1)) (/.f64 a b)))))
(fma.f64 1/2 (*.f64 (/.f64 (-.f64 1 (pow.f64 (/.f64 (/.f64 0 (sqrt.f64 -1)) b) 2)) (*.f64 b (sqrt.f64 -1))) (*.f64 a a)) (fma.f64 b (sqrt.f64 -1) (/.f64 (/.f64 0 (sqrt.f64 -1)) b)))
(fma.f64 1/2 (*.f64 (/.f64 a b) (/.f64 a (sqrt.f64 -1))) (*.f64 b (sqrt.f64 -1)))
(*.f64 -1 (*.f64 (sqrt.f64 -1) b))
(neg.f64 (*.f64 b (sqrt.f64 -1)))
(*.f64 b (neg.f64 (sqrt.f64 -1)))
(+.f64 (*.f64 -1 (*.f64 (sqrt.f64 -1) b)) (*.f64 1/2 (/.f64 (+.f64 a (*.f64 -1 a)) (sqrt.f64 -1))))
(neg.f64 (*.f64 b (sqrt.f64 -1)))
(*.f64 b (neg.f64 (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)))))
(fma.f64 -1 (*.f64 b (sqrt.f64 -1)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1))) 2)) (*.f64 b (sqrt.f64 -1))) (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1)))))
(-.f64 (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 b (sqrt.f64 -1))) (/.f64 0 (sqrt.f64 -1))) (*.f64 b (sqrt.f64 -1)))
(-.f64 (*.f64 -1/2 (*.f64 (/.f64 a b) (/.f64 a (sqrt.f64 -1)))) (*.f64 b (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)))))))
(fma.f64 -1 (*.f64 b (sqrt.f64 -1)) (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1))) 2)) (*.f64 b (sqrt.f64 -1))) (*.f64 1/2 (/.f64 (*.f64 0 a) (sqrt.f64 -1)))))
(-.f64 (fma.f64 -1/2 (/.f64 (-.f64 (*.f64 a a) (pow.f64 (/.f64 0 (sqrt.f64 -1)) 2)) (*.f64 b (sqrt.f64 -1))) (/.f64 0 (sqrt.f64 -1))) (*.f64 b (sqrt.f64 -1)))
(-.f64 (*.f64 -1/2 (*.f64 (/.f64 a b) (/.f64 a (sqrt.f64 -1)))) (*.f64 b (sqrt.f64 -1)))
(+.f64 0 (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a)))) (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a)))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (+.f64 b a))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (+.f64 a b)))) 1)
(sqrt.f64 (+.f64 b a))
(*.f64 (pow.f64 (+.f64 a b) 1/4) (pow.f64 (+.f64 a b) 1/4))
(sqrt.f64 (+.f64 b a))
(*.f64 (sqrt.f64 (+.f64 a b)) 1)
(sqrt.f64 (+.f64 b a))
(*.f64 1 (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(*.f64 (cbrt.f64 (+.f64 a b)) (cbrt.f64 (sqrt.f64 (+.f64 a b))))
(*.f64 (cbrt.f64 (+.f64 b a)) (cbrt.f64 (sqrt.f64 (+.f64 b a))))
(*.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b))) (cbrt.f64 (+.f64 a b)))
(*.f64 (cbrt.f64 (+.f64 b a)) (cbrt.f64 (sqrt.f64 (+.f64 b a))))
(*.f64 (pow.f64 (+.f64 a b) 1/8) (pow.f64 (+.f64 a b) 3/8))
(*.f64 (pow.f64 (+.f64 b a) 1/8) (pow.f64 (+.f64 b a) 3/8))
(*.f64 (pow.f64 (+.f64 a b) 3/8) (pow.f64 (+.f64 a b) 1/8))
(*.f64 (pow.f64 (+.f64 b a) 1/8) (pow.f64 (+.f64 b a) 3/8))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 a b))))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 b a)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 b a))) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (cbrt.f64 (+.f64 b a)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (pow.f64 (pow.f64 (cbrt.f64 (+.f64 a b)) 2) 1/2) (pow.f64 (cbrt.f64 (+.f64 a b)) 1/2))
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (+.f64 b a)) 2)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (fabs.f64 (cbrt.f64 (+.f64 b a))) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (cbrt.f64 (+.f64 b a)) (sqrt.f64 (cbrt.f64 (+.f64 b a))))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 a b)) 5/6) (cbrt.f64 (pow.f64 (+.f64 a b) 1/4)))
(*.f64 (pow.f64 (sqrt.f64 (+.f64 b a)) 5/6) (cbrt.f64 (pow.f64 (+.f64 b a) 1/4)))
(/.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))) (sqrt.f64 (-.f64 a b)))
(/.f64 (hypot.f64 (pow.f64 b 3/2) (pow.f64 a 3/2)) (hypot.f64 a (sqrt.f64 (*.f64 b (-.f64 b a)))))
(sqrt.f64 (+.f64 a b))
(sqrt.f64 (+.f64 b a))
(fabs.f64 (sqrt.f64 (+.f64 a b)))
(sqrt.f64 (+.f64 b a))
(log.f64 (exp.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (+.f64 a b)))))
(sqrt.f64 (+.f64 b a))
(cbrt.f64 (pow.f64 (+.f64 a b) 3/2))
(sqrt.f64 (+.f64 b a))
(expm1.f64 (log1p.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(hypot.f64 (sqrt.f64 a) (sqrt.f64 b))
(sqrt.f64 (+.f64 b a))
(hypot.f64 (sqrt.f64 b) (sqrt.f64 a))
(sqrt.f64 (+.f64 b a))
(exp.f64 (log.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1) 1/2))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (*.f64 1/4 (log.f64 (+.f64 a b))) 1) 2))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (log.f64 (+.f64 a b)) 1/2) 1))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (+.f64 a b))) 1) 1))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (+.f64 a b)))) 3))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (*.f64 2 (log.f64 (+.f64 a b))) 1/4))
(sqrt.f64 (+.f64 b a))
(exp.f64 (*.f64 (log.f64 (pow.f64 (+.f64 a b) 3/2)) 1/3))
(sqrt.f64 (+.f64 b a))
(log1p.f64 (expm1.f64 (sqrt.f64 (+.f64 a b))))
(sqrt.f64 (+.f64 b a))
(+.f64 0 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))) (log.f64 (cbrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))) (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))))
(-.f64 (exp.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 1)
(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)))
(pow.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 3)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2) 1/3)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 1/2)
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (exp.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(cbrt.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 a b) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 b a) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (-.f64 a b) 3/2) (pow.f64 (+.f64 a b) 3/2)))
(cbrt.f64 (*.f64 (pow.f64 (+.f64 b a) 3/2) (pow.f64 (-.f64 a b) 3/2)))
(expm1.f64 (log1p.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (*.f64 (log.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))) 1) 1))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 3))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (-.f64 (*.f64 a a) (*.f64 b b)) 3/2)) 1/3))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b))))) 2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(exp.f64 (*.f64 (log.f64 (-.f64 (*.f64 a a) (*.f64 b b))) 1/2))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(log1p.f64 (expm1.f64 (sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))

eval177.0ms (2.4%)

Compiler

Compiled 7198 to 4723 computations (34.4% saved)

prune39.0ms (0.5%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New2400240
Fresh011
Picked011
Done033
Total2405245
Accurracy
75.9%
Counts
245 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
46.8%
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
46.8%
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
Compiler

Compiled 96 to 62 computations (35.4% saved)

localize0.0ms (0%)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune3.0ms (0%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done044
Total055
Accurracy
75.9%
Counts
5 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
47.9%
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
46.8%
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
47.0%
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
55.8%
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
47.6%
a
Compiler

Compiled 96 to 53 computations (44.8% saved)

regimes78.0ms (1%)

Counts
6 → 2
Calls
Call 1
Inputs
a
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
(*.f64 (sqrt.f64 (-.f64 a b)) (sqrt.f64 (+.f64 a b)))
(*.f64 (sqrt.f64 (-.f64 a b)) (pow.f64 (pow.f64 (+.f64 a b) 1/4) 2))
Outputs
(sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b)))
(fma.f64 -1/2 (/.f64 b (/.f64 a b)) a)
Calls

6 calls:

18.0ms
b
13.0ms
a
12.0ms
(*.f64 a a)
11.0ms
(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
11.0ms
(*.f64 b b)
Results
AccuracySegmentsBranch
75.8%2a
62.3%3b
74.4%3(sqrt.f64 (-.f64 (*.f64 a a) (*.f64 b b)))
74.4%3(-.f64 (*.f64 a a) (*.f64 b b))
74.4%3(*.f64 a a)
63.4%4(*.f64 b b)
Compiler

Compiled 83 to 43 computations (48.2% saved)

regimes7.0ms (0.1%)

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

1 calls:

6.0ms
a
Results
AccuracySegmentsBranch
75.6%2a
Compiler

Compiled 22 to 12 computations (45.5% saved)

regimes7.0ms (0.1%)

Accuracy

Total 0.0b remaining (0%)

Threshold costs 0b (0%)

Counts
1 → 1
Calls
Call 1
Inputs
a
Outputs
a
Calls

2 calls:

4.0ms
a
3.0ms
b
Results
AccuracySegmentsBranch
47.6%1b
47.6%1a
Compiler

Compiled 9 to 6 computations (33.3% saved)

bsearch65.0ms (0.9%)

Algorithm
binary-search
Stop Event
predicate-failed
Steps
TimeLeftRight
64.0ms
-9.198590419159009e-287
6.122892601171529e-214
Results
59.0ms643×body256invalid
4.0ms32×body256valid
Compiler

Compiled 59 to 38 computations (35.6% saved)

bsearch94.0ms (1.3%)

Algorithm
binary-search
Stop Event
predicate-failed
Steps
TimeLeftRight
94.0ms
-9.198590419159009e-287
6.122892601171529e-214
Results
84.0ms793×body256invalid
8.0ms34×body256valid
Compiler

Compiled 45 to 30 computations (33.3% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
+-commutative
sub-neg
*-commutative
neg-mul-1
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02187
12587
23087
33287
43387
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(if (<=.f64 a -8572068857490139/171441377149802771351748007849600289689824769872885377191000062139256168179989779598911740610511337300415147666808503492029943245710770246975753241195177196862953084397187695766737193680997938270047266914448743599737311060278380280946648703137233006633139143642984674682566877306441990189395290689110016) (sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b))) (fma.f64 -1/2 (/.f64 b (/.f64 a b)) a))
(if (<=.f64 a -8572068857490139/171441377149802771351748007849600289689824769872885377191000062139256168179989779598911740610511337300415147666808503492029943245710770246975753241195177196862953084397187695766737193680997938270047266914448743599737311060278380280946648703137233006633139143642984674682566877306441990189395290689110016) (sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b))) a)
a
Outputs
(if (<=.f64 a -8572068857490139/171441377149802771351748007849600289689824769872885377191000062139256168179989779598911740610511337300415147666808503492029943245710770246975753241195177196862953084397187695766737193680997938270047266914448743599737311060278380280946648703137233006633139143642984674682566877306441990189395290689110016) (sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b))) (fma.f64 -1/2 (/.f64 b (/.f64 a b)) a))
(if (<=.f64 a -8572068857490139/171441377149802771351748007849600289689824769872885377191000062139256168179989779598911740610511337300415147666808503492029943245710770246975753241195177196862953084397187695766737193680997938270047266914448743599737311060278380280946648703137233006633139143642984674682566877306441990189395290689110016) (sqrt.f64 (*.f64 (+.f64 a b) (-.f64 a b))) a)
a
Compiler

Compiled 40 to 24 computations (40% saved)

soundness698.0ms (9.4%)

Rules
2086×fma-def
1660×fma-def
1424×associate-/l*
1384×distribute-lft-out
1296×associate-*l*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
11923
23123
36023
413823
538623
685023
7171923
8387523
9553823
10639723
11676623
12699623
13711023
14711023
01972120
15701680
225321312
Stop Event
node limit
node limit
Compiler

Compiled 224 to 170 computations (24.1% saved)

end51.0ms (0.7%)

Compiler

Compiled 122 to 62 computations (49.2% saved)

Profiling

Loading profile data...