math.sin on complex, real part

Time bar (total: 5.5s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 15 to 12 computations (20% saved)

sample2.3s (42%)

Results
526.0ms1010×body1024valid
494.0ms2690×body256valid
389.0ms1013×body1024infinite
378.0ms2528×body256infinite
378.0ms521×body512infinite
148.0ms493×body512valid
2.0msbody2048valid
Bogosity

preprocess92.0ms (1.7%)

Algorithm
egg-herbie
Rules
1388×fma-def
1228×distribute-lft-neg-in
1086×fma-neg
802×times-frac
794×distribute-rgt-neg-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
031144
194144
2254140
3526134
41151132
53093132
65261132
77961132
Stop Event
node limit
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (neg.f64 (sin.f64 re))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) -1/2))
(*.f64 (sin.f64 re) (*.f64 -1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) -1/2 (/.f64 -1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (-.f64 0 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (*.f64 1/2 (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (fma.f64 1/2 (exp.f64 re) (/.f64 1/2 (exp.f64 re))))
Symmetry

(abs im)

Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify82.0ms (1.5%)

Algorithm
egg-herbie
Rules
1568×unswap-sqr
1404×fma-def
900×fabs-mul
862×associate-/r*
692×times-frac
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
Stop Event
node limit
Counts
1 → 4
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 1/2 (exp.f64 im) (/.f64 1/2 (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 47 to 25 computations (46.8% saved)

prune2.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New314
Fresh101
Picked000
Done000
Total415
Accurracy
100.0%
Counts
5 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 26 to 20 computations (23.1% saved)

localize80.0ms (1.4%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 36 to 14 computations (61.1% saved)

series5.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
1.0ms
im
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))

rewrite41.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
282×add-sqr-sqrt
272×pow1
272×*-un-lft-identity
264×add-exp-log
262×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
127335
2427735
Stop Event
unsound
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))

simplify70.0ms (1.3%)

Algorithm
egg-herbie
Rules
1156×fma-neg
1114×div-sub
812×cancel-sign-sub-inv
740×fma-def
738×associate-*r*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0981223
12981143
29601143
349691143
Stop Event
node limit
Counts
47 → 47
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(fabs.f64 (*.f64 (sin.f64 re) -2))
(log.f64 (pow.f64 1 (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
Outputs
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/240 (*.f64 (pow.f64 re 5) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(fma.f64 -1/10080 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 7)) (fma.f64 -1/12 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 3)) (fma.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (*.f64 1/240 (pow.f64 re 5)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 4) 1/24))))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 (sin.f64 re) (*.f64 im im)) (fma.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6)) (*.f64 (*.f64 1/24 (sin.f64 re)) (pow.f64 im 4)))))
(+.f64 (sin.f64 re) (fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (fma.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)) (*.f64 (sin.f64 re) (*.f64 (pow.f64 im 6) 1/720)))))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) -2))) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) -2) (+.f64 (*.f64 (sin.f64 re) -2) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)) (-.f64 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 3)
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) -2) 1/3)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(sqrt.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fabs.f64 (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(log.f64 (pow.f64 1 (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) -2))))
(sin.f64 re)
(cbrt.f64 (*.f64 (sin.f64 re) -2))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) -2)) 1))
(sin.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) -2)) -2))
(sin.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) -2)))
(sin.f64 re)
(fma.f64 1 (*.f64 (sin.f64 re) -2) (*.f64 (sin.f64 re) -2))
(sin.f64 re)
(fma.f64 (*.f64 (sin.f64 re) -2) 1 (*.f64 (sin.f64 re) -2))
(sin.f64 re)

eval24.0ms (0.4%)

Compiler

Compiled 698 to 345 computations (50.6% saved)

prune19.0ms (0.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New40747
Fresh000
Picked011
Done000
Total40848
Accurracy
100.0%
Counts
48 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.6%
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
11.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
10.6%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.7%
(sin.f64 re)
67.6%
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
11.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
10.6%
(+.f64 (sin.f64 re) (sin.f64 re))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.7%
(sin.f64 re)
Compiler

Compiled 374 to 256 computations (31.6% saved)

localize339.0ms (6.1%)

Local Accuracy

Found 6 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
99.7%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
99.2%
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
97.7%
(*.f64 (sin.f64 re) (pow.f64 im 6))
96.9%
(*.f64 (sin.f64 re) (pow.f64 im 4))
93.6%
(*.f64 (sin.f64 re) (pow.f64 im 2))
Compiler

Compiled 190 to 104 computations (45.3% saved)

series18.0ms (0.3%)

Counts
6 → 52
Calls

33 calls:

TimeVariablePointExpression
5.0ms
im
@-inf
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
1.0ms
re
@-inf
(*.f64 (sin.f64 re) (pow.f64 im 4))
1.0ms
im
@-inf
(*.f64 (sin.f64 re) (pow.f64 im 2))
1.0ms
re
@-inf
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
1.0ms
re
@inf
(pow.f64 (*.f64 (sin.f64 re) -2) -2)

rewrite44.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
552×add-sqr-sqrt
534×pow1
526×*-un-lft-identity
524×add-exp-log
522×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
027108
1576108
27982108
Stop Event
unsound
Counts
6 → 233
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 4))
(*.f64 (sin.f64 re) (pow.f64 im 6))
(*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4)))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
im
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
im
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
im
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
im
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
im
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
re
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 -512 re re)
(fma.f64 re -512 re)

simplify82.0ms (1.5%)

Algorithm
egg-herbie
Rules
1644×fma-def
1108×associate-*r*
1072×associate-*l*
972×distribute-rgt-out
532×+-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01712751
13852671
210732671
349192671
Stop Event
node limit
Counts
285 → 100
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(*.f64 re (pow.f64 im 4))
(+.f64 (*.f64 re (pow.f64 im 4)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))
(+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(*.f64 re (pow.f64 im 6))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (+.f64 (*.f64 re (pow.f64 im 6)) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 6))))))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(/.f64 1/4 (pow.f64 re 2))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/378 (pow.f64 re 4)))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
-512
-8
-4
-2
-1
-1/2
0
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
1/16
1/8
1/4
1/2
1
25/24
3/2
2
3
4
5
6
7
8
9
12
16
27
36
64
216
256
512
1296
4096
46656
262144
10077696
(+.f64 re re)
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(/.f64 (-.f64 re re) (-.f64 re re))
(pow.f64 re -512)
(pow.f64 re 1/3)
(sqrt.f64 re)
(fabs.f64 re)
(log.f64 (exp.f64 re))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 re))
(exp.f64 (log.f64 re))
(exp.f64 (*.f64 (log.f64 re) -512))
(log1p.f64 (expm1.f64 re))
(fma.f64 -512 re re)
(fma.f64 re -512 re)
Outputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im))))
(fma.f64 -1/6 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (*.f64 im im) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 re (pow.f64 im 4))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 re (pow.f64 im 4)) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4)))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im))))
(fma.f64 -1/6 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 4))) (+.f64 (*.f64 re (pow.f64 im 4)) (+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 4))))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (*.f64 im im) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 re (pow.f64 im 6))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6)))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (*.f64 re (pow.f64 im 6))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im))))
(fma.f64 -1/6 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) (pow.f64 im 6))) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) (pow.f64 im 6))) (+.f64 (*.f64 re (pow.f64 im 6)) (*.f64 -1/5040 (*.f64 (pow.f64 re 7) (pow.f64 im 6))))))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 -1/5040 (*.f64 (*.f64 im im) (pow.f64 re 7)) (fma.f64 1/120 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 re (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 1/24 (*.f64 re (pow.f64 im 4)))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (*.f64 1/24 (*.f64 re (pow.f64 im 4))))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)))))
(fma.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (*.f64 (*.f64 1/2880 (pow.f64 re 5)) (pow.f64 im 4))))
(fma.f64 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) -1/144 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 re 1/24) (*.f64 (pow.f64 re 5) 1/2880))))
(+.f64 (*.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4))) (+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4))) (*.f64 -1/120960 (*.f64 (pow.f64 re 7) (pow.f64 im 4))))))
(fma.f64 -1/144 (*.f64 (pow.f64 re 3) (pow.f64 im 4)) (fma.f64 1/24 (*.f64 re (pow.f64 im 4)) (fma.f64 1/2880 (*.f64 (pow.f64 re 5) (pow.f64 im 4)) (*.f64 (*.f64 (pow.f64 re 7) (pow.f64 im 4)) -1/120960))))
(+.f64 (*.f64 (pow.f64 im 4) (+.f64 (*.f64 re 1/24) (*.f64 (pow.f64 re 3) -1/144))) (*.f64 (pow.f64 im 4) (+.f64 (*.f64 (pow.f64 re 5) 1/2880) (*.f64 (pow.f64 re 7) -1/120960))))
(/.f64 1/4 (pow.f64 re 2))
(*.f64 re (*.f64 im im))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(*.f64 re (*.f64 im im))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(*.f64 re (*.f64 im im))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (+.f64 (*.f64 1/60 (pow.f64 re 2)) (*.f64 1/378 (pow.f64 re 4)))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 1/60 (*.f64 re re) (*.f64 1/378 (pow.f64 re 4)))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 (*.f64 1/378 (pow.f64 re 4)))))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(/.f64 1/4 (pow.f64 (sin.f64 re) 2))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
re
(*.f64 re (*.f64 im im))
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(*.f64 re (*.f64 im im))
(+.f64 (*.f64 1/24 (*.f64 re (pow.f64 im 4))) (+.f64 (*.f64 1/720 (*.f64 re (pow.f64 im 6))) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 re (*.f64 im im))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 re (*.f64 im im))
-512
(*.f64 re (*.f64 im im))
-8
-4
-2
(*.f64 re (*.f64 im im))
-1
(*.f64 re (*.f64 im im))
-1/2
(*.f64 re (*.f64 im im))
0
(*.f64 re (*.f64 im im))
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
(*.f64 re (*.f64 im im))
1/16
1/8
(*.f64 re (*.f64 im im))
1/4
(*.f64 re (*.f64 im im))
1/2
(*.f64 re (*.f64 im im))
1
(*.f64 re (*.f64 im im))
25/24
3/2
(*.f64 re (*.f64 im im))
2
(*.f64 re (*.f64 im im))
3
(*.f64 re (*.f64 im im))
4
(*.f64 re (*.f64 im im))
5
(*.f64 re (*.f64 im im))
6
(*.f64 re (*.f64 im im))
7
8
9
12
16
27
36
64
216
256
512
(*.f64 re (*.f64 im im))
1296
4096
46656
262144
10077696
-512
(*.f64 re (*.f64 im im))
-8
-4
-2
(*.f64 re (*.f64 im im))
-1
(*.f64 re (*.f64 im im))
-1/2
(*.f64 re (*.f64 im im))
0
(*.f64 re (*.f64 im im))
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
(*.f64 re (*.f64 im im))
1/16
1/8
(*.f64 re (*.f64 im im))
1/4
(*.f64 re (*.f64 im im))
1/2
(*.f64 re (*.f64 im im))
1
(*.f64 re (*.f64 im im))
25/24
3/2
(*.f64 re (*.f64 im im))
2
(*.f64 re (*.f64 im im))
3
(*.f64 re (*.f64 im im))
4
(*.f64 re (*.f64 im im))
5
(*.f64 re (*.f64 im im))
6
(*.f64 re (*.f64 im im))
7
8
9
12
16
27
36
64
216
256
512
(*.f64 re (*.f64 im im))
1296
4096
46656
262144
10077696
-512
(*.f64 re (*.f64 im im))
-8
-4
-2
(*.f64 re (*.f64 im im))
-1
(*.f64 re (*.f64 im im))
-1/2
(*.f64 re (*.f64 im im))
0
(*.f64 re (*.f64 im im))
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
(*.f64 re (*.f64 im im))
1/16
1/8
(*.f64 re (*.f64 im im))
1/4
(*.f64 re (*.f64 im im))
1/2
(*.f64 re (*.f64 im im))
1
(*.f64 re (*.f64 im im))
25/24
3/2
(*.f64 re (*.f64 im im))
2
(*.f64 re (*.f64 im im))
3
(*.f64 re (*.f64 im im))
4
(*.f64 re (*.f64 im im))
5
(*.f64 re (*.f64 im im))
6
(*.f64 re (*.f64 im im))
7
8
9
12
16
27
36
64
216
256
512
(*.f64 re (*.f64 im im))
1296
4096
46656
262144
10077696
-512
(*.f64 re (*.f64 im im))
-8
-4
-2
(*.f64 re (*.f64 im im))
-1
(*.f64 re (*.f64 im im))
-1/2
(*.f64 re (*.f64 im im))
0
(*.f64 re (*.f64 im im))
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
(*.f64 re (*.f64 im im))
1/16
1/8
(*.f64 re (*.f64 im im))
1/4
(*.f64 re (*.f64 im im))
1/2
(*.f64 re (*.f64 im im))
1
(*.f64 re (*.f64 im im))
25/24
3/2
(*.f64 re (*.f64 im im))
2
(*.f64 re (*.f64 im im))
3
(*.f64 re (*.f64 im im))
4
(*.f64 re (*.f64 im im))
5
(*.f64 re (*.f64 im im))
6
(*.f64 re (*.f64 im im))
7
8
9
12
16
27
36
64
216
256
512
(*.f64 re (*.f64 im im))
1296
4096
46656
262144
10077696
-512
(*.f64 re (*.f64 im im))
-8
-4
-2
(*.f64 re (*.f64 im im))
-1
(*.f64 re (*.f64 im im))
-1/2
(*.f64 re (*.f64 im im))
0
(*.f64 re (*.f64 im im))
1/2641807540224
1/191102976
1/331776
1/13824
1/576
1/512
1/64
1/24
(*.f64 re (*.f64 im im))
1/16
1/8
(*.f64 re (*.f64 im im))
1/4
(*.f64 re (*.f64 im im))
1/2
(*.f64 re (*.f64 im im))
1
(*.f64 re (*.f64 im im))
25/24
3/2
(*.f64 re (*.f64 im im))
2
(*.f64 re (*.f64 im im))
3
(*.f64 re (*.f64 im im))
4
(*.f64 re (*.f64 im im))
5
(*.f64 re (*.f64 im im))
6
(*.f64 re (*.f64 im im))
7
8
9
12
16
27
36
64
216
256
512
(*.f64 re (*.f64 im im))
1296
4096
46656
262144
10077696
(+.f64 re re)
(*.f64 re (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(+.f64 (exp.f64 (log1p.f64 re)) 512)
(/.f64 re -512)
(*.f64 re (*.f64 im im))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 re (*.f64 im im))
(/.f64 (-.f64 re re) (-.f64 re re))
(*.f64 re (*.f64 im im))
(pow.f64 re -512)
(*.f64 re (*.f64 im im))
(pow.f64 re 1/3)
(*.f64 re (*.f64 im im))
(sqrt.f64 re)
(*.f64 re (*.f64 im im))
(fabs.f64 re)
(*.f64 re (*.f64 im im))
(log.f64 (exp.f64 re))
(*.f64 re (*.f64 im im))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(*.f64 re (*.f64 im im))
(expm1.f64 (log1p.f64 re))
(*.f64 re (*.f64 im im))
(exp.f64 (log.f64 re))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 re) -512))
(*.f64 re (*.f64 im im))
(log1p.f64 (expm1.f64 re))
(*.f64 re (*.f64 im im))
(fma.f64 -512 re re)
(*.f64 re (*.f64 im im))
(fma.f64 re -512 re)
(*.f64 re (*.f64 im im))

eval40.0ms (0.7%)

Compiler

Compiled 2375 to 1596 computations (32.8% saved)

prune35.0ms (0.6%)

Pruning

17 alts after pruning (13 fresh and 4 done)

PrunedKeptTotal
New8812100
Fresh112
Picked235
Done011
Total9117108
Accurracy
100.0%
Counts
108 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.6%
(fma.f64 re -512 re)
14.4%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -512)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
52.5%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
7.1%
(+.f64 re re)
19.0%
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 (*.f64 1/378 (pow.f64 re 4)))))
15.4%
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.7%
(sin.f64 re)
42.7%
(log1p.f64 (expm1.f64 re))
14.6%
(fabs.f64 re)
3.9%
(cbrt.f64 re)
28.5%
re
2.6%
(fma.f64 re -512 re)
14.4%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -512)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
52.5%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
7.1%
(+.f64 re re)
19.0%
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 (*.f64 1/378 (pow.f64 re 4)))))
15.4%
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.7%
(sin.f64 re)
42.7%
(log1p.f64 (expm1.f64 re))
14.6%
(fabs.f64 re)
3.9%
(cbrt.f64 re)
28.5%
re
Compiler

Compiled 542 to 390 computations (28% saved)

localize97.0ms (1.8%)

Local Accuracy

Found 1 expressions with local accuracy:

NewAccuracyProgram
93.6%
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
Compiler

Compiled 63 to 23 computations (63.5% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
0.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
re
@-inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
im
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
0.0ms
im
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))

rewrite58.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
1836×pow1
1682×add-exp-log
1682×log1p-expm1-u
1682×expm1-log1p-u
1644×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120023
2235023
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
Outputs
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))

simplify69.0ms (1.3%)

Algorithm
egg-herbie
Rules
1446×fma-def
1346×exp-sum
1318×log-prod
820×distribute-rgt-in
800×distribute-lft-in
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
073991
1204963
2736927
32141923
46625923
Stop Event
node limit
Counts
37 → 35
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
Outputs
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 im (*.f64 1/2 im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 (*.f64 1/2 re) (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 im (*.f64 im (*.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (*.f64 (*.f64 1/2 re) (*.f64 im im))))
(fma.f64 -1/12 (*.f64 im (*.f64 im (pow.f64 re 3))) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (fma.f64 1/2 re (fma.f64 1/240 (pow.f64 re 5) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (+.f64 (*.f64 1/240 (*.f64 (pow.f64 re 5) (pow.f64 im 2))) (+.f64 (*.f64 -1/10080 (*.f64 (pow.f64 re 7) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))
(fma.f64 -1/12 (*.f64 (*.f64 im im) (pow.f64 re 3)) (fma.f64 1/240 (*.f64 (*.f64 im im) (pow.f64 re 5)) (fma.f64 -1/10080 (*.f64 (*.f64 im im) (pow.f64 re 7)) (*.f64 (*.f64 1/2 re) (*.f64 im im)))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 1/2 re)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/10080 (pow.f64 re 7)) (fma.f64 1/2 re (fma.f64 1/240 (pow.f64 re 5) (*.f64 -1/12 (pow.f64 re 3))))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(-.f64 (+.f64 1 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 1)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))) 3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3) 1/3)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(pow.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 (sin.f64 re)))) 2)
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(sqrt.f64 (*.f64 (pow.f64 im 4) (*.f64 (pow.f64 (sin.f64 re) 2) 1/4)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (*.f64 1/2 (sin.f64 re))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (pow.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im))) 3))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 1/2 (sin.f64 re)) 3) (pow.f64 (*.f64 im im) 3)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (*.f64 1/2 (sin.f64 re)) 3)))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im im)))))
(*.f64 1/2 (*.f64 (*.f64 im im) (sin.f64 re)))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))

eval10.0ms (0.2%)

Compiler

Compiled 626 to 359 computations (42.7% saved)

prune37.0ms (0.7%)

Pruning

17 alts after pruning (8 fresh and 9 done)

PrunedKeptTotal
New33235
Fresh268
Picked055
Done044
Total351752
Accurracy
100.0%
Counts
52 → 17
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.6%
(fma.f64 re -512 re)
14.4%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -512)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
53.9%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.8%
(+.f64 (sin.f64 re) (*.f64 im (*.f64 im (*.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2)))))
52.5%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
7.1%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.7%
(sin.f64 re)
42.7%
(log1p.f64 (expm1.f64 re))
14.6%
(fabs.f64 re)
3.9%
(cbrt.f64 re)
28.5%
re
2.6%
(fma.f64 re -512 re)
14.4%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -512)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
53.9%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
47.8%
(+.f64 (sin.f64 re) (*.f64 im (*.f64 im (*.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2)))))
52.5%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
7.1%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
49.7%
(sin.f64 re)
42.7%
(log1p.f64 (expm1.f64 re))
14.6%
(fabs.f64 re)
3.9%
(cbrt.f64 re)
28.5%
re
Compiler

Compiled 460 to 324 computations (29.6% saved)

localize288.0ms (5.2%)

Local Accuracy

Found 5 expressions with local accuracy:

NewAccuracyProgram
100.0%
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
86.7%
(*.f64 re (pow.f64 im 2))
99.1%
(cbrt.f64 re)
99.8%
(*.f64 -1/12 (pow.f64 re 3))
81.6%
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
Compiler

Compiled 103 to 65 computations (36.9% saved)

series11.0ms (0.2%)

Counts
5 → 24
Calls

24 calls:

TimeVariablePointExpression
3.0ms
re
@0
(*.f64 re (pow.f64 im 2))
1.0ms
im
@0
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
1.0ms
re
@inf
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
1.0ms
re
@0
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
0.0ms
re
@0
(cbrt.f64 re)

rewrite93.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1746×log-prod
1008×fma-def
626×expm1-udef
620×log1p-udef
372×fma-neg
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01983
140983
2472783
Stop Event
node limit
Counts
5 → 177
Calls
Call 1
Inputs
(*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(cbrt.f64 re)
(*.f64 re (pow.f64 im 2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
Outputs
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(+.f64 0 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) (pow.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 3)) (fma.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) 1/4 (-.f64 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))) (-.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (*.f64 (*.f64 re re) 1/4)))
(/.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6)))) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3))) (*.f64 im im)) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (*.f64 (*.f64 re re) 1/4)))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6))) (*.f64 im im)) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 2)
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 2) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))) (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 im (*.f64 im (*.f64 -1/12 (pow.f64 re 3))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 re 3)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 re (*.f64 (*.f64 im im) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 re (*.f64 (*.f64 im im) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 im im) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im (*.f64 im re)) 1/2 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (*.f64 im re)) 1/2 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 1 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/12)) 2) (*.f64 (*.f64 re (cbrt.f64 -1/12)) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 re)) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 re)) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))) (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (sqrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (sqrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 im (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) im) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) im) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 1/2 re) im) im (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 1/2 re) im) im (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 -1/12 (pow.f64 re 3)) im) im (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) -1/12) (pow.f64 re 3) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 re 3)) -1/12 (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 (*.f64 re (cbrt.f64 -1/12)) 2)) (*.f64 re (cbrt.f64 -1/12)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2)) (cbrt.f64 (*.f64 im (*.f64 im re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2)) (cbrt.f64 (*.f64 im (*.f64 im re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 re))) (*.f64 im (sqrt.f64 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 re))) (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) 1/2) re (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) 1/2) re (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(+.f64 0 (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/12 (pow.f64 re 3)))) 1)
(pow.f64 (*.f64 -1/12 (pow.f64 re 3)) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/12)) 3)
(pow.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)) 1/3)
(pow.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) 2)
(sqrt.f64 (*.f64 1/144 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/12 (pow.f64 re 3)))))
(cbrt.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))
(expm1.f64 (log1p.f64 (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (log.f64 (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/12 (pow.f64 re 3))) 1))
(log1p.f64 (expm1.f64 (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re re)) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/3) (pow.f64 (sqrt.f64 re) 1/3))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (pow.f64 re 1/6) 2)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(exp.f64 (*.f64 (log.f64 re) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 0 (*.f64 im (*.f64 im re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im re)))) 1)
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(sqrt.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))) 1)
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 re 3) 1/8) (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (*.f64 (pow.f64 re 3) 1/8)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))

simplify129.0ms (2.3%)

Algorithm
egg-herbie
Rules
1654×unswap-sqr
632×associate-*r*
616×log-prod
598×cancel-sign-sub-inv
554×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03956501
19306327
231446075
Stop Event
node limit
Counts
201 → 237
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(+.f64 0 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))) 1)
(/.f64 (+.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) (pow.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 3)) (fma.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) 1/4 (-.f64 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))) (-.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (*.f64 (*.f64 re re) 1/4)))
(/.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6)))) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3))) (*.f64 im im)) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (*.f64 (*.f64 re re) 1/4)))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6))) (*.f64 im im)) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 3)
(pow.f64 (pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 2)
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 2) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))) (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 3)))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 1))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 im (*.f64 im (*.f64 -1/12 (pow.f64 re 3))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 re 3)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 re (*.f64 (*.f64 im im) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 re (*.f64 (*.f64 im im) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 im im) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im (*.f64 im re)) 1/2 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (*.f64 im re)) 1/2 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 1 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/12)) 2) (*.f64 (*.f64 re (cbrt.f64 -1/12)) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 re)) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 re)) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))) (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (sqrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (sqrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 im (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) im) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) im) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 1/2 re) im) im (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 1/2 re) im) im (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 -1/12 (pow.f64 re 3)) im) im (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) -1/12) (pow.f64 re 3) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 re 3)) -1/12 (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 (*.f64 re (cbrt.f64 -1/12)) 2)) (*.f64 re (cbrt.f64 -1/12)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2)) (cbrt.f64 (*.f64 im (*.f64 im re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2)) (cbrt.f64 (*.f64 im (*.f64 im re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 re))) (*.f64 im (sqrt.f64 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 re))) (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) 1/2) re (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) 1/2) re (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(+.f64 0 (*.f64 -1/12 (pow.f64 re 3)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/12 (pow.f64 re 3)))) 1)
(pow.f64 (*.f64 -1/12 (pow.f64 re 3)) 1)
(pow.f64 (*.f64 re (cbrt.f64 -1/12)) 3)
(pow.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)) 1/3)
(pow.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) 2)
(sqrt.f64 (*.f64 1/144 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/12 (pow.f64 re 3)))))
(cbrt.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))
(expm1.f64 (log1p.f64 (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (log.f64 (*.f64 -1/12 (pow.f64 re 3))))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/12 (pow.f64 re 3))) 1))
(log1p.f64 (expm1.f64 (*.f64 -1/12 (pow.f64 re 3))))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(*.f64 (cbrt.f64 re) 1)
(*.f64 1 (cbrt.f64 re))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re re)) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 (sqrt.f64 re) 1/3) (pow.f64 (sqrt.f64 re) 1/3))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (pow.f64 re 1/6) 2)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(exp.f64 (log.f64 (cbrt.f64 re)))
(exp.f64 (*.f64 (log.f64 re) 1/3))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 0 (*.f64 im (*.f64 im re)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im re)))) 1)
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(sqrt.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im re)))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (*.f64 im im) 3)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))) 1)
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1)
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 3)
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3)
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 re 3) 1/8) (pow.f64 (*.f64 im im) 3)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (*.f64 (pow.f64 re 3) 1/8)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 1))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
Outputs
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3))) (pow.f64 im 2))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))
(*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2)))
(*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))
(*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im)))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (pow.f64 im 2))) (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 0 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))) 1)
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(/.f64 (+.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) (pow.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 3)) (fma.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)) 1/4 (-.f64 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))))
(/.f64 (+.f64 (pow.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) 3) (*.f64 -1/1728 (pow.f64 (*.f64 (pow.f64 re 3) (*.f64 im im)) 3))) (fma.f64 (*.f64 re (*.f64 re (pow.f64 im 4))) 1/4 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (-.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 (*.f64 im im) (*.f64 1/2 re))))))
(/.f64 (fma.f64 -1/1728 (*.f64 (pow.f64 (pow.f64 re 3) 3) (pow.f64 im 6)) (pow.f64 (*.f64 1/2 (*.f64 re (*.f64 im im))) 3)) (fma.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2) 1/4 (*.f64 -1/12 (*.f64 (*.f64 (pow.f64 re 3) (*.f64 im im)) (fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 (*.f64 im im) (*.f64 re -1/2)))))))
(/.f64 (fma.f64 -1/1728 (*.f64 (pow.f64 (pow.f64 re 3) 3) (pow.f64 im 6)) (*.f64 (pow.f64 re 3) (*.f64 1/8 (pow.f64 im 6)))) (fma.f64 (*.f64 re (*.f64 re (pow.f64 im 4))) 1/4 (*.f64 (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))) (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 re -1/2))))))
(/.f64 (-.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))) (-.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))
(/.f64 (-.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4))) (*.f64 1/144 (*.f64 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 (pow.f64 re 3) (*.f64 im im))))) (+.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re)) (*.f64 1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))))
(/.f64 (fma.f64 (*.f64 re re) (*.f64 (pow.f64 im 4) 1/4) (*.f64 -1/144 (*.f64 (pow.f64 im 4) (pow.f64 re 6)))) (fma.f64 im (*.f64 re (*.f64 1/2 im)) (*.f64 (*.f64 (pow.f64 re 3) (*.f64 im im)) 1/12)))
(/.f64 (*.f64 (pow.f64 im 4) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144))) (*.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12))))
(/.f64 (*.f64 (*.f64 im im) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (*.f64 (*.f64 re re) 1/4)))
(/.f64 (*.f64 im im) (/.f64 (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/2 re)) (*.f64 re (*.f64 re 1/4))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))))
(*.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 re -1/2)) (*.f64 (*.f64 re re) 1/4))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3))))
(*.f64 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 (pow.f64 re 6) -1/1728) 1/8)) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 re -1/2)) (*.f64 re (*.f64 re 1/4)))) (*.f64 im im))
(/.f64 (*.f64 (*.f64 im im) (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6)))) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 re (*.f64 re 1/4)) (*.f64 -1/144 (pow.f64 re 6))) (/.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12)) (*.f64 im im)))
(*.f64 (/.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12))) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144)))
(/.f64 (*.f64 im im) (/.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12)) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144))))
(/.f64 (*.f64 (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3))) (*.f64 im im)) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (-.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 1/2 re)) (*.f64 (*.f64 re re) 1/4)))
(/.f64 (*.f64 im im) (/.f64 (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 -1/2 re)) (*.f64 re (*.f64 re 1/4))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))))
(*.f64 (/.f64 (*.f64 im im) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 re -1/2)) (*.f64 (*.f64 re re) 1/4))) (fma.f64 (pow.f64 re 3) 1/8 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3))))
(*.f64 (/.f64 (*.f64 (pow.f64 re 3) (+.f64 (*.f64 (pow.f64 re 6) -1/1728) 1/8)) (fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 re -1/2)) (*.f64 re (*.f64 re 1/4)))) (*.f64 im im))
(/.f64 (*.f64 (-.f64 (*.f64 (*.f64 re re) 1/4) (*.f64 1/144 (pow.f64 re 6))) (*.f64 im im)) (fma.f64 1/2 re (*.f64 1/12 (pow.f64 re 3))))
(/.f64 (+.f64 (*.f64 re (*.f64 re 1/4)) (*.f64 -1/144 (pow.f64 re 6))) (/.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12)) (*.f64 im im)))
(*.f64 (/.f64 (*.f64 im im) (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12))) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144)))
(/.f64 (*.f64 im im) (/.f64 (fma.f64 1/2 re (*.f64 (pow.f64 re 3) 1/12)) (fma.f64 re (*.f64 re 1/4) (*.f64 (pow.f64 re 6) -1/144))))
(pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 1)
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 3)
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(pow.f64 (pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 3) 1/3)
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(pow.f64 (*.f64 im (sqrt.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 2)
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(sqrt.f64 (*.f64 (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 2) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (pow.f64 im 4) (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 2)))
(sqrt.f64 (pow.f64 (*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))) 2))
(fabs.f64 (*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3))))))
(log.f64 (pow.f64 (exp.f64 (*.f64 im im)) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))) (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(log.f64 (*.f64 (exp.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))) 3))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 3)))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(cbrt.f64 (*.f64 (pow.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)) 3) (pow.f64 (*.f64 im im) 3)))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(exp.f64 (log.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 im im) (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re)))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 im (*.f64 im (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 im (*.f64 im (*.f64 -1/12 (pow.f64 re 3))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im im) (*.f64 1/2 re) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im im) (*.f64 -1/12 (pow.f64 re 3)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 1/2 (*.f64 im (*.f64 im re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 re (*.f64 1/2 (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 re (*.f64 (*.f64 im im) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 re (*.f64 (*.f64 im im) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 re) (*.f64 im im) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 im im) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (*.f64 im re)) 1/2 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (*.f64 im re)) 1/2 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1 (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 1 (*.f64 im (*.f64 im (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 1 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2) (*.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (pow.f64 (*.f64 re (cbrt.f64 -1/12)) 2) (*.f64 (*.f64 re (cbrt.f64 -1/12)) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) 1/4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 (*.f64 re (pow.f64 im 4)) (*.f64 re 1/4))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) 1/4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 (*.f64 re (pow.f64 im 4)) (*.f64 re 1/4))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) 1/4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 (*.f64 re (pow.f64 im 4)) (*.f64 re 1/4))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4))) (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 im im) (*.f64 1/2 re))) (cbrt.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) 1/4)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 1/2 (*.f64 re (*.f64 im im)))) (cbrt.f64 (*.f64 (*.f64 re (pow.f64 im 4)) (*.f64 re 1/4))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (cbrt.f64 (*.f64 1/2 re)))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (cbrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (cbrt.f64 (*.f64 1/2 re)))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 -1/12 (pow.f64 re 3))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im im) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (*.f64 im im))) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (cbrt.f64 (*.f64 im im)))) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 1/2 re) (cbrt.f64 (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (cbrt.f64 (*.f64 im im)) (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 1/2 re) (cbrt.f64 (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 re)) 1/2) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 im (sqrt.f64 re)) 1/2) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 (sqrt.f64 (*.f64 1/2 re)) (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))) (cbrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (sqrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (sqrt.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im)))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 im (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) im) (*.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) im) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 im (sqrt.f64 (*.f64 1/2 re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 1/2 re) im) im (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 1/2 re) im) im (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 -1/12 (pow.f64 re 3)) im) im (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) -1/12) (pow.f64 re 3) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 re 3)) -1/12 (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 (*.f64 re (cbrt.f64 -1/12)) 2)) (*.f64 re (cbrt.f64 -1/12)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2))) (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 im (*.f64 im (*.f64 1/2 re))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (*.f64 im im))) (*.f64 (*.f64 im im) (*.f64 1/2 re)))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 -1/12 (pow.f64 re 3)) (cbrt.f64 (*.f64 im im))) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (cbrt.f64 (*.f64 im im)))) (*.f64 1/2 (*.f64 re (*.f64 im im))))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 (*.f64 im im)) re (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2)) (cbrt.f64 (*.f64 im (*.f64 im re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 (pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 2)) (cbrt.f64 (*.f64 im (*.f64 im re))) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 re))) (*.f64 im (sqrt.f64 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 1/2 (*.f64 im (sqrt.f64 re))) (*.f64 im (sqrt.f64 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 1/2 re) (cbrt.f64 (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 1/2 re) (cbrt.f64 (pow.f64 im 4))) (cbrt.f64 (*.f64 im im)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 (*.f64 1/2 re) (cbrt.f64 (*.f64 im im))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (pow.f64 im 4)) (*.f64 1/2 (*.f64 re (cbrt.f64 (*.f64 im im)))) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(fma.f64 (*.f64 (*.f64 im im) 1/2) re (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) 1/2) re (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (cbrt.f64 (*.f64 1/2 re)))))
(fma.f64 (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 (*.f64 re re) 1/4))) (cbrt.f64 (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(fma.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(fma.f64 (cbrt.f64 (*.f64 (*.f64 re re) 1/4)) (*.f64 (*.f64 im im) (cbrt.f64 (*.f64 1/2 re))) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 -1/12 (pow.f64 re 3)) (*.f64 (cbrt.f64 (*.f64 re (*.f64 re 1/4))) (cbrt.f64 (*.f64 1/2 re)))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(fma.f64 (*.f64 (*.f64 im im) (sqrt.f64 (*.f64 1/2 re))) (sqrt.f64 (*.f64 1/2 re)) (*.f64 (*.f64 -1/12 (*.f64 (pow.f64 re 3) (*.f64 im im))) 1))
(*.f64 im (*.f64 im (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/2 re))))
(*.f64 im (*.f64 im (fma.f64 1/2 re (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 0 (*.f64 -1/12 (pow.f64 re 3)))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))) (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))))
(*.f64 -1/12 (pow.f64 re 3))
(-.f64 (exp.f64 (log1p.f64 (*.f64 -1/12 (pow.f64 re 3)))) 1)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (*.f64 -1/12 (pow.f64 re 3)) 1)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (*.f64 re (cbrt.f64 -1/12)) 3)
(*.f64 -1/12 (pow.f64 re 3))
(pow.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)) 1/3)
(cbrt.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))
(pow.f64 (*.f64 (sqrt.f64 -1/12) (pow.f64 re 3/2)) 2)
(*.f64 -1/12 (pow.f64 re 3))
(sqrt.f64 (*.f64 1/144 (pow.f64 re 6)))
(log.f64 (pow.f64 (exp.f64 -1/12) (pow.f64 re 3)))
(*.f64 -1/12 (pow.f64 re 3))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 -1/12 (pow.f64 re 3))
(cbrt.f64 (*.f64 -1/1728 (pow.f64 (pow.f64 re 3) 3)))
(expm1.f64 (log1p.f64 (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (log.f64 (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(exp.f64 (*.f64 (log.f64 (*.f64 -1/12 (pow.f64 re 3))) 1))
(*.f64 -1/12 (pow.f64 re 3))
(log1p.f64 (expm1.f64 (*.f64 -1/12 (pow.f64 re 3))))
(*.f64 -1/12 (pow.f64 re 3))
(+.f64 0 (cbrt.f64 re))
(cbrt.f64 re)
(+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))))) (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))) (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(*.f64 2 (log.f64 (sqrt.f64 (exp.f64 (cbrt.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (cbrt.f64 re))) 1)
(cbrt.f64 re)
(*.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(*.f64 1 (cbrt.f64 re))
(cbrt.f64 re)
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2))
(cbrt.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 re)) 2) (cbrt.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.f64 re)
(*.f64 (pow.f64 1 1/3) (cbrt.f64 re))
(cbrt.f64 re)
(*.f64 (pow.f64 (cbrt.f64 (*.f64 re re)) 1/3) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (pow.f64 (sqrt.f64 re) 1/3) (pow.f64 (sqrt.f64 re) 1/3))
(*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 re) 1)
(cbrt.f64 re)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(cbrt.f64 re)
(pow.f64 (pow.f64 re 1/6) 2)
(cbrt.f64 re)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(log.f64 (exp.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(cbrt.f64 re)
(expm1.f64 (log1p.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(exp.f64 (log.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 re) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1))
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(+.f64 0 (*.f64 im (*.f64 im re)))
(*.f64 re (*.f64 im im))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))) (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))))
(*.f64 re (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im re)))) 1)
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 im (*.f64 im re)) 1)
(*.f64 re (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im re))) 3)
(*.f64 re (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3) 1/3)
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(*.f64 re (*.f64 im im))
(sqrt.f64 (*.f64 (*.f64 re re) (pow.f64 im 4)))
(sqrt.f64 (*.f64 re (*.f64 re (pow.f64 im 4))))
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))
(fabs.f64 (*.f64 re (*.f64 im im)))
(log.f64 (pow.f64 (exp.f64 re) (*.f64 im im)))
(*.f64 re (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im re)))))
(*.f64 re (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im re)) 3))
(*.f64 re (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (pow.f64 re 3)))
(*.f64 re (*.f64 im im))
(cbrt.f64 (*.f64 (pow.f64 re 3) (pow.f64 (*.f64 im im) 3)))
(*.f64 re (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im re))))
(*.f64 re (*.f64 im im))
(exp.f64 (log.f64 (*.f64 im (*.f64 im re))))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im re))) 1))
(*.f64 re (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im re))))
(*.f64 re (*.f64 im im))
(+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))))
(+.f64 (log.f64 (*.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 re (*.f64 im im)))) (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 re (*.f64 im im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 re (*.f64 im im))))))
(+.f64 (*.f64 2 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 re (*.f64 im im)))))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 re (*.f64 im im))))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 re (*.f64 im im))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))) 1)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 1)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 (cbrt.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 3)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 (*.f64 (sqrt.f64 (*.f64 1/2 re)) im) 2)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(sqrt.f64 (*.f64 (*.f64 (*.f64 re re) 1/4) (pow.f64 im 4)))
(sqrt.f64 (*.f64 (*.f64 re re) (*.f64 1/4 (pow.f64 im 4))))
(sqrt.f64 (*.f64 re (*.f64 re (*.f64 (pow.f64 im 4) 1/4))))
(sqrt.f64 (*.f64 (*.f64 re (pow.f64 im 4)) (*.f64 re 1/4)))
(log.f64 (pow.f64 (exp.f64 1/2) (*.f64 im (*.f64 im re))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(cbrt.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(cbrt.f64 (*.f64 (*.f64 (pow.f64 re 3) 1/8) (pow.f64 (*.f64 im im) 3)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(cbrt.f64 (*.f64 (pow.f64 (*.f64 im im) 3) (*.f64 (pow.f64 re 3) 1/8)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(expm1.f64 (log1p.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(exp.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))) 1))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log1p.f64 (expm1.f64 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))

eval105.0ms (1.9%)

Compiler

Compiled 4785 to 2712 computations (43.3% saved)

prune66.0ms (1.2%)

Pruning

21 alts after pruning (9 fresh and 12 done)

PrunedKeptTotal
New2307237
Fresh123
Picked235
Done099
Total23321254
Accurracy
100.0%
Counts
254 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.6%
(fma.f64 re -512 re)
14.4%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.6%
(/.f64 re -512)
89.5%
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
41.3%
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
73.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
45.3%
(+.f64 re (pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3))
46.2%
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
52.5%
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
45.1%
(+.f64 re (*.f64 1/2 (sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))))
43.0%
(+.f64 re (*.f64 1/2 (fabs.f64 (*.f64 re (*.f64 im im)))))
7.1%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
67.5%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
7.9%
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
49.7%
(sin.f64 re)
42.7%
(log1p.f64 (expm1.f64 re))
14.6%
(fabs.f64 re)
3.9%
(cbrt.f64 re)
28.5%
re
Compiler

Compiled 476 to 295 computations (38% saved)

regimes89.0ms (1.6%)

Counts
30 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(fma.f64 re -512 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (fabs.f64 (*.f64 re (*.f64 im im)))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 1/2 (sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(+.f64 re (pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(+.f64 (sin.f64 re) (*.f64 im (*.f64 im (*.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 (*.f64 1/378 (pow.f64 re 4)))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
(+.f64 (sin.f64 re) (+.f64 (*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 1/720 (*.f64 (sin.f64 re) (pow.f64 im 6))) (*.f64 1/24 (*.f64 (sin.f64 re) (pow.f64 im 4))))))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

17.0ms
(*.f64 1/2 (sin.f64 re))
17.0ms
(sin.f64 re)
15.0ms
re
14.0ms
im
9.0ms
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im)))
100.0%1(*.f64 1/2 (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 0 im)) (exp.f64 im))
Compiler

Compiled 310 to 182 computations (41.3% saved)

regimes170.0ms (3.1%)

Counts
27 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(fma.f64 re -512 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (fabs.f64 (*.f64 re (*.f64 im im)))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(+.f64 re (*.f64 1/2 (sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 re 3) (*.f64 -1/12 (*.f64 im im))))
(+.f64 re (pow.f64 (pow.f64 (*.f64 im (*.f64 im (*.f64 1/2 re))) 3) 1/3))
(+.f64 1/12 (+.f64 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))) (*.f64 1/60 (pow.f64 re 2))))
(+.f64 (sin.f64 re) (*.f64 im (*.f64 im (*.f64 re (fma.f64 -1/12 (*.f64 re re) 1/2)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(+.f64 1/12 (+.f64 (/.f64 1/4 (*.f64 re re)) (fma.f64 (*.f64 re re) 1/60 (*.f64 1/378 (pow.f64 re 4)))))
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
Outputs
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
Calls

3 calls:

80.0ms
(sin.f64 re)
46.0ms
im
37.0ms
re
Results
AccuracySegmentsBranch
86.9%3re
93.9%3im
87.0%3(sin.f64 re)
Compiler

Compiled 229 to 130 computations (43.2% saved)

regimes23.0ms (0.4%)

Counts
18 → 2
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(fma.f64 re -512 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (fabs.f64 (*.f64 re (*.f64 im im)))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(sin.f64 re)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Calls

1 calls:

18.0ms
im
Results
AccuracySegmentsBranch
88.5%2im
Compiler

Compiled 100 to 56 computations (44% saved)

regimes120.0ms (2.2%)

Counts
17 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(pow.f64 re -512)
(fma.f64 re -512 re)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 re (*.f64 1/2 (fabs.f64 (*.f64 re (*.f64 im im)))))
(log1p.f64 (expm1.f64 re))
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(sin.f64 re)
(pow.f64 re -512)
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
Calls

3 calls:

47.0ms
re
42.0ms
(sin.f64 re)
27.0ms
im
Results
AccuracySegmentsBranch
65.0%5re
66.7%5(sin.f64 re)
76.5%3im
Compiler

Compiled 97 to 54 computations (44.3% saved)

regimes14.0ms (0.3%)

Counts
9 → 2
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
Outputs
(sin.f64 re)
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
Calls

1 calls:

12.0ms
im
Results
AccuracySegmentsBranch
73.6%2im
Compiler

Compiled 45 to 25 computations (44.4% saved)

regimes15.0ms (0.3%)

Counts
8 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
(+.f64 re (+.f64 0 (*.f64 im (*.f64 im (*.f64 1/2 re)))))
(cbrt.f64 re)
(fabs.f64 re)
Outputs
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
Calls

2 calls:

7.0ms
re
5.0ms
im
Results
AccuracySegmentsBranch
52.5%1re
52.5%1im
Compiler

Compiled 46 to 26 computations (43.5% saved)

regimes13.0ms (0.2%)

Accuracy

Total -17.4b remaining (-38.1%)

Threshold costs -17.4b (-38.1%)

Counts
4 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
Outputs
re
Calls

2 calls:

8.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
28.5%1re
28.5%1im
Compiler

Compiled 22 to 12 computations (45.5% saved)

bsearch50.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
21.0ms
6.5752175895013076e+153
3.4224189633744653e+154
29.0ms
0.01405171770912047
0.061146960454246245
Results
15.0ms28×body1024valid
9.0ms64×body256infinite
9.0ms55×body256valid
8.0ms21×body1024infinite
3.0ms13×body512valid
3.0ms11×body512infinite
Compiler

Compiled 343 to 243 computations (29.2% saved)

bsearch35.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
34.0ms
1.1132967748359985e-5
0.004869153177847378
Results
13.0ms85×body256valid
9.0ms22×body1024valid
7.0ms21×body512valid
Compiler

Compiled 163 to 127 computations (22.1% saved)

bsearch61.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
35.0ms
2.4854450818199376e+68
2.467131071331349e+74
26.0ms
4422142985.708645
177386250658.16925
Results
26.0ms151×body256infinite
22.0ms67×body1024infinite
10.0ms38×body512infinite
Compiler

Compiled 258 to 195 computations (24.4% saved)

bsearch24.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
24.0ms
0.01405171770912047
0.061146960454246245
Results
10.0ms66×body256valid
8.0ms15×body1024valid
4.0ms15×body512valid
Compiler

Compiled 121 to 87 computations (28.1% saved)

simplify14.0ms (0.2%)

Algorithm
egg-herbie
Rules
16×*-commutative
+-commutative
sub-neg
neg-mul-1
if-if-or-not
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045289
164289
266289
367289
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 1080863910568919/18014398509481984) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (<=.f64 im 3504881374004815/18446744073709551616) (sin.f64 re) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 4600000000) (sin.f64 re) (if (<=.f64 im 145000000000000003620828341425239230680402667222354357265814422718251008) (pow.f64 re -512) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(if (<=.f64 im 1116892707587883/36028797018963968) (sin.f64 re) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
re
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im 1080863910568919/18014398509481984) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))
(if (or (<=.f64 im 1080863910568919/18014398509481984) (not (<=.f64 im 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160))) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 3504881374004815/18446744073709551616) (sin.f64 re) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(if (<=.f64 im 3504881374004815/18446744073709551616) (sin.f64 re) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im 4600000000) (sin.f64 re) (if (<=.f64 im 145000000000000003620828341425239230680402667222354357265814422718251008) (pow.f64 re -512) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))))
(if (<=.f64 im 1116892707587883/36028797018963968) (sin.f64 re) (+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im)))))
(+.f64 re (*.f64 1/2 (*.f64 re (*.f64 im im))))
re
Compiler

Compiled 118 to 81 computations (31.4% saved)

soundness576.0ms (10.4%)

Rules
1746×log-prod
1654×unswap-sqr
1568×unswap-sqr
1404×fma-def
1156×fma-neg
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
0981223
12981143
29601143
349691143
01983
140983
2472783
03956501
19306327
231446075
027108
1576108
27982108
0981223
12981143
29601143
349691143
Stop Event
node limit
unsound
node limit
node limit
node limit
node limit
Compiler

Compiled 171 to 113 computations (33.9% saved)

end0.0ms (0%)

preprocess70.0ms (1.3%)

Remove

(abs im)

Compiler

Compiled 266 to 146 computations (45.1% saved)

Profiling

Loading profile data...