math.sin on complex, real part

Details

Time bar (total: 6.2s)

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.5s (39.8%)

Results
671.0ms2609×body256valid
631.0ms1003×body1024infinite
486.0ms1017×body1024valid
411.0ms2588×body256infinite
149.0ms554×body512valid
112.0ms482×body512infinite
4.0msbody2048valid
Bogosity

preprocess92.0ms (1.5%)

Algorithm
egg-herbie
Rules
1384×times-frac
1336×fma-def
864×unswap-sqr
632×associate-/r/
620×associate-*r*
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02170
15270
214070
326666
436066
548866
684366
7216166
8478766
9540266
10686266
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (-.f64 0 im)) (exp.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 1/2 (*.f64 (sin.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (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 (*.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))))
Compiler

Compiled 16 to 13 computations (18.8% saved)

simplify92.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)

localize127.0ms (2%)

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)))

rewrite36.0ms (0.6%)

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))

simplify66.0ms (1.1%)

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)

eval12.0ms (0.2%)

Compiler

Compiled 698 to 345 computations (50.6% saved)

prune16.0ms (0.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New41647
Fresh000
Picked011
Done000
Total41748
Accurracy
100.0%
Counts
48 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
67.4%
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
10.7%
(+.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)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
67.4%
(fma.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))) (sin.f64 re))
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
10.7%
(+.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)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
Compiler

Compiled 250 to 172 computations (31.2% saved)

localize143.0ms (2.3%)

Local Accuracy

Found 3 expressions with local accuracy:

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

Compiled 88 to 33 computations (62.5% saved)

series9.0ms (0.1%)

Counts
3 → 60
Calls

15 calls:

TimeVariablePointExpression
1.0ms
re
@0
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
1.0ms
re
@0
(pow.f64 (*.f64 (sin.f64 re) -2) -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)
1.0ms
re
@inf
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))

rewrite39.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
410×add-sqr-sqrt
396×pow1
394×*-un-lft-identity
384×add-exp-log
382×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01969
140769
2630269
Stop Event
unsound
Counts
3 → 64
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))
(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/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
im
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
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)

simplify66.0ms (1.1%)

Algorithm
egg-herbie
Rules
754×fma-def
748×distribute-lft-out
600×unswap-sqr
478×associate-*r*
450×associate-*l*
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01252214
12772194
26762158
326812158
473172158
Stop Event
unsound
Counts
124 → 71
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 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/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
-512
-8
-4
-2
-1
-1/2
0
1/512
1/64
1/16
1/8
1/4
1/2
1
3/2
2
3
4
8
9
16
27
64
(+.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 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 (*.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 (*.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 (*.f64 im 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 -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/240 (pow.f64 re 5)) (*.f64 -1/10080 (pow.f64 re 7)))) (*.f64 (*.f64 im im) (+.f64 (*.f64 1/2 re) (*.f64 -1/12 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (+.f64 (fma.f64 -1/12 (pow.f64 re 3) (*.f64 1/240 (pow.f64 re 5))) (fma.f64 -1/10080 (pow.f64 re 7) (*.f64 1/2 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 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/4 (pow.f64 re 2))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 1/12 (*.f64 1/4 (/.f64 1 (pow.f64 re 2))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/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 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/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/12 (fma.f64 1/378 (pow.f64 re 4) (fma.f64 re (*.f64 re 1/60) (/.f64 1/4 (*.f64 re re)))))
(/.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 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
re
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(+.f64 re (*.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/24 (*.f64 re (pow.f64 im 4))) (+.f64 re (*.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/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 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im))) re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-512
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-8
-4
-2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
0
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/512
1/64
1/16
1/8
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
8
9
16
27
64
-512
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-8
-4
-2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
-1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
0
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/512
1/64
1/16
1/8
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
1
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3/2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
2
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
3
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
4
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
8
9
16
27
64
(+.f64 re re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(-.f64 (exp.f64 (log1p.f64 re)) -512)
(+.f64 (exp.f64 (log1p.f64 re)) 512)
(/.f64 re -512)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(/.f64 re (+.f64 re (-.f64 re re)))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(/.f64 (-.f64 re re) (-.f64 re re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 re -512)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(pow.f64 re 1/3)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(sqrt.f64 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(fabs.f64 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log.f64 (exp.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log.f64 (+.f64 -512 (expm1.f64 re)))
(cbrt.f64 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(expm1.f64 (log1p.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(exp.f64 (log.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(exp.f64 (*.f64 (log.f64 re) -512))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(log1p.f64 (expm1.f64 re))
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(fma.f64 -512 re re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))
(fma.f64 re -512 re)
(*.f64 (*.f64 1/2 re) (*.f64 im im))
(*.f64 1/2 (*.f64 re (*.f64 im im)))

eval14.0ms (0.2%)

Compiler

Compiled 670 to 410 computations (38.8% saved)

prune45.0ms (0.7%)

Pruning

21 alts after pruning (16 fresh and 5 done)

PrunedKeptTotal
New551671
Fresh101
Picked145
Done011
Total572178
Accurracy
100.0%
Counts
78 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(fma.f64 re -512 re)
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
11.3%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.9%
(/.f64 re -512)
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
67.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
3.8%
(+.f64 (sin.f64 re) 1)
4.7%
(+.f64 (sin.f64 re) -4)
4.2%
(+.f64 (sin.f64 re) -512)
44.8%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.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)))))
14.0%
(+.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)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
11.7%
(fabs.f64 re)
4.1%
(cbrt.f64 re)
27.5%
re
2.8%
(fma.f64 re -512 re)
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
11.3%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.9%
(/.f64 re -512)
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
67.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
3.8%
(+.f64 (sin.f64 re) 1)
4.7%
(+.f64 (sin.f64 re) -4)
4.2%
(+.f64 (sin.f64 re) -512)
44.8%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.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)))))
14.0%
(+.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)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
11.7%
(fabs.f64 re)
4.1%
(cbrt.f64 re)
27.5%
re
Compiler

Compiled 594 to 438 computations (26.3% saved)

localize140.0ms (2.2%)

Local Accuracy

Found 4 expressions with local accuracy:

NewAccuracyProgram
99.0%
(cbrt.f64 re)
100.0%
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
99.8%
(*.f64 im (sin.f64 re))
99.8%
(*.f64 im (*.f64 im (sin.f64 re)))
Compiler

Compiled 58 to 20 computations (65.5% saved)

series4.0ms (0.1%)

Counts
4 → 72
Calls

21 calls:

TimeVariablePointExpression
0.0ms
re
@-inf
(cbrt.f64 re)
0.0ms
re
@0
(cbrt.f64 re)
0.0ms
im
@0
(*.f64 im (sin.f64 re))
0.0ms
re
@inf
(cbrt.f64 re)
0.0ms
re
@inf
(*.f64 im (*.f64 im (sin.f64 re)))

rewrite74.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1088×log-prod
830×exp-prod
730×prod-exp
676×pow-prod-down
534×pow-prod-up
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01156
121656
2253456
Stop Event
node limit
Counts
4 → 123
Calls
Call 1
Inputs
(*.f64 im (*.f64 im (sin.f64 re)))
(*.f64 im (sin.f64 re))
(*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))
(cbrt.f64 re)
Outputs
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(pow.f64 (*.f64 (sqrt.f64 (sin.f64 re)) im) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im (sin.f64 re)))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 im (sin.f64 re))) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (sin.f64 re)) 1)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 0 (*.f64 im (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sin.f64 re)))) 1)
(pow.f64 (*.f64 im (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 im (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (sin.f64 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 im (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 im (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sin.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 im (sin.f64 re))))
(+.f64 0 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 1)
(pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 3)
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 3) 1/3)
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(exp.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2))) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (log.f64 (*.f64 im 1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 im 1/2)) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (cbrt.f64 (*.f64 re re)) 1/2)
(pow.f64 (*.f64 re re) 1/6)
(pow.f64 (pow.f64 re 3) 1/9)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 re)))
(pow.f64 (exp.f64 1/3) (log.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 re))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 re)))) (sqrt.f64 (log.f64 (cbrt.f64 re))))
(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))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))

simplify78.0ms (1.2%)

Algorithm
egg-herbie
Rules
1032×distribute-lft-in
1022×distribute-rgt-in
946×unswap-sqr
498×log-prod
480×sqr-pow
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03444294971253
17913797
222953731
Stop Event
node limit
Counts
195 → 187
Calls
Call 1
Inputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.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 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))))
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.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 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 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(pow.f64 (*.f64 (sqrt.f64 (sin.f64 re)) im) 2)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im (sin.f64 re)))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 im (sin.f64 re))) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (sin.f64 re)) 1)))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(+.f64 0 (*.f64 im (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sin.f64 re)))) 1)
(pow.f64 (*.f64 im (sin.f64 re)) 1)
(pow.f64 (cbrt.f64 (*.f64 im (sin.f64 re))) 3)
(pow.f64 (pow.f64 (*.f64 im (sin.f64 re)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 im (sin.f64 re)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 im (sin.f64 re))) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 im (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sin.f64 re)) 2))
(log.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sin.f64 re)))))
(cbrt.f64 (pow.f64 (*.f64 im (sin.f64 re)) 3))
(expm1.f64 (log1p.f64 (*.f64 im (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 im (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sin.f64 re)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (sin.f64 re)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sin.f64 re)))) 2))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (sin.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 im) 1)))
(log1p.f64 (expm1.f64 (*.f64 im (sin.f64 re))))
(+.f64 0 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 1)
(pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 1)
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 3)
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) 1/2)
(pow.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 3) 1/3)
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) 2)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 3))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(exp.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 1/3))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2))) 2))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (log.f64 (*.f64 im 1/2))))
(exp.f64 (+.f64 (log.f64 (*.f64 im 1/2)) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(pow.f64 re 1/3)
(pow.f64 (cbrt.f64 re) 1)
(pow.f64 (cbrt.f64 (cbrt.f64 re)) 3)
(pow.f64 (cbrt.f64 (*.f64 re re)) 1/2)
(pow.f64 (*.f64 re re) 1/6)
(pow.f64 (pow.f64 re 3) 1/9)
(pow.f64 (pow.f64 re 1/6) 2)
(pow.f64 (sqrt.f64 re) 2/3)
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 re)))
(pow.f64 (exp.f64 1/3) (log.f64 re))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 re))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 re)))) (sqrt.f64 (log.f64 (cbrt.f64 re))))
(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))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
Outputs
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.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)))
(fma.f64 -1/6 (*.f64 (*.f64 im im) (pow.f64 re 3)) (*.f64 re (*.f64 im im)))
(*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(*.f64 im (*.f64 im (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(+.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 (*.f64 im im) (pow.f64 re 3)) (*.f64 (*.f64 im im) (+.f64 re (*.f64 1/120 (pow.f64 re 5)))))
(*.f64 (*.f64 im im) (+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (*.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 (*.f64 -1/5040 (pow.f64 re 7)) (*.f64 1/120 (pow.f64 re 5)))) (*.f64 (*.f64 im im) (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 (*.f64 im im) (+.f64 (+.f64 re (*.f64 1/120 (pow.f64 re 5))) (+.f64 (*.f64 -1/6 (pow.f64 re 3)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) (pow.f64 im 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 re im)
(+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))
(fma.f64 -1/6 (*.f64 im (pow.f64 re 3)) (*.f64 re im))
(*.f64 im (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))
(fma.f64 1/120 (*.f64 im (pow.f64 re 5)) (fma.f64 -1/6 (*.f64 im (pow.f64 re 3)) (*.f64 re im)))
(fma.f64 1/120 (*.f64 im (pow.f64 re 5)) (*.f64 im (+.f64 re (*.f64 -1/6 (pow.f64 re 3)))))
(*.f64 im (+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (*.f64 1/120 (pow.f64 re 5))))
(+.f64 (*.f64 1/120 (*.f64 (pow.f64 re 5) im)) (+.f64 (*.f64 -1/5040 (*.f64 (pow.f64 re 7) im)) (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im))))
(fma.f64 1/120 (*.f64 im (pow.f64 re 5)) (fma.f64 -1/5040 (*.f64 im (pow.f64 re 7)) (fma.f64 -1/6 (*.f64 im (pow.f64 re 3)) (*.f64 re im))))
(fma.f64 1/120 (*.f64 im (pow.f64 re 5)) (fma.f64 -1/5040 (*.f64 im (pow.f64 re 7)) (*.f64 im (+.f64 re (*.f64 -1/6 (pow.f64 re 3))))))
(*.f64 im (+.f64 (+.f64 re (*.f64 -1/6 (pow.f64 re 3))) (+.f64 (*.f64 1/120 (pow.f64 re 5)) (*.f64 -1/5040 (pow.f64 re 7)))))
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 (sin.f64 re) im)
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 re (pow.f64 im 2)))
(*.f64 (*.f64 re (*.f64 im im)) 1/2)
(*.f64 re (*.f64 im (*.f64 im 1/2)))
(+.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 re (*.f64 im im)) 1/2))
(*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12)))
(+.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 re (*.f64 im im)) 1/2)))
(fma.f64 (*.f64 (*.f64 im im) (pow.f64 re 3)) -1/12 (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (*.f64 im im) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 5) 1/240))))
(+.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 re (*.f64 im im)) 1/2))))
(+.f64 (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 7) -1/10080))) (*.f64 (*.f64 im im) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 (*.f64 im im) (+.f64 (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 7) -1/10080)) (+.f64 (*.f64 (pow.f64 re 3) -1/12) (*.f64 (pow.f64 re 5) 1/240))))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(*.f64 1/2 (*.f64 (sin.f64 re) (pow.f64 im 2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(+.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 0 (*.f64 (sin.f64 re) (*.f64 im im)))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 1)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 3)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/2)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6) 1/3)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 2)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (*.f64 (sqrt.f64 (sin.f64 re)) im) 2)
(*.f64 (sin.f64 re) (*.f64 im im))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4))
(*.f64 (sin.f64 re) (*.f64 im im))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) im) (sin.f64 re)))
(*.f64 (sin.f64 re) (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im)))))
(*.f64 (sin.f64 re) (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6))
(*.f64 (sin.f64 re) (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im im))) 1) 1))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (sin.f64 re) (*.f64 im im)))) 3))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 6)) 1/3))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) 2))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 2 (log.f64 im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (log.f64 (*.f64 im (sin.f64 re))) (*.f64 (log.f64 im) 1)))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (log.f64 im)))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (*.f64 (log.f64 im) 1)))
(*.f64 (sin.f64 re) (*.f64 im im))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (sin.f64 re) (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) (*.f64 im im))))
(*.f64 (sin.f64 re) (*.f64 im im))
(+.f64 0 (*.f64 im (sin.f64 re)))
(*.f64 (sin.f64 re) im)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re))) 2)) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))))
(*.f64 (sin.f64 re) im)
(-.f64 (exp.f64 (log1p.f64 (*.f64 im (sin.f64 re)))) 1)
(*.f64 (sin.f64 re) im)
(pow.f64 (*.f64 im (sin.f64 re)) 1)
(*.f64 (sin.f64 re) im)
(pow.f64 (cbrt.f64 (*.f64 im (sin.f64 re))) 3)
(*.f64 (sin.f64 re) im)
(pow.f64 (pow.f64 (*.f64 im (sin.f64 re)) 2) 1/2)
(*.f64 (sin.f64 re) im)
(pow.f64 (pow.f64 (*.f64 im (sin.f64 re)) 3) 1/3)
(*.f64 (sin.f64 re) im)
(pow.f64 (sqrt.f64 (*.f64 im (sin.f64 re))) 2)
(*.f64 (sin.f64 re) im)
(pow.f64 (exp.f64 1) (log.f64 (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) im)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 im (sin.f64 re)))) 2)) (cbrt.f64 (log.f64 (*.f64 im (sin.f64 re)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) im))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) im))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 im (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 im (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) im)))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) im))))
(sqrt.f64 (pow.f64 (*.f64 im (sin.f64 re)) 2))
(*.f64 (sin.f64 re) im)
(log.f64 (pow.f64 (exp.f64 im) (sin.f64 re)))
(*.f64 (sin.f64 re) im)
(log.f64 (+.f64 1 (expm1.f64 (*.f64 im (sin.f64 re)))))
(*.f64 (sin.f64 re) im)
(cbrt.f64 (pow.f64 (*.f64 im (sin.f64 re)) 3))
(*.f64 (sin.f64 re) im)
(expm1.f64 (log1p.f64 (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) im)
(exp.f64 (log.f64 (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) im)
(exp.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1))
(*.f64 (sin.f64 re) im)
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) 1))
(*.f64 (sin.f64 re) im)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 im (sin.f64 re)))) 3))
(*.f64 (sin.f64 re) im)
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 im (sin.f64 re)))) 1/3))
(*.f64 (sin.f64 re) im)
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 im (sin.f64 re)))) 2))
(*.f64 (sin.f64 re) im)
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (sin.f64 re) im)
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (sin.f64 re))))
(*.f64 (sin.f64 re) im)
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (sin.f64 re)) 1)))
(*.f64 (sin.f64 re) im)
(exp.f64 (+.f64 (log.f64 (sin.f64 re)) (*.f64 (log.f64 im) 1)))
(*.f64 (sin.f64 re) im)
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (log.f64 im)))
(*.f64 (sin.f64 re) im)
(exp.f64 (+.f64 (*.f64 (log.f64 (sin.f64 re)) 1) (*.f64 (log.f64 im) 1)))
(*.f64 (sin.f64 re) im)
(log1p.f64 (expm1.f64 (*.f64 im (sin.f64 re))))
(*.f64 (sin.f64 re) im)
(+.f64 0 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re)))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sin.f64 re) im))) 2)) (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sin.f64 re) im)))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sin.f64 re) im)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))) (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sin.f64 re) im)))))
(*.f64 (sin.f64 re) (*.f64 im (log.f64 (sqrt.f64 (exp.f64 im)))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 1)
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 1)
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 3)
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4) 1/2)
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(pow.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 3) 1/3)
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2)) 2)
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (exp.f64 1) (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 2)) (cbrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))))) 2)) (cbrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))) (sqrt.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))))) (sqrt.f64 (log.f64 (*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2))))))
(sqrt.f64 (*.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4) 1/4))
(sqrt.f64 (*.f64 1/4 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) 4)))
(log.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 im (sin.f64 re))))
(*.f64 2 (log.f64 (sqrt.f64 (pow.f64 (sqrt.f64 (exp.f64 im)) (*.f64 (sin.f64 re) im)))))
(*.f64 (sin.f64 re) (*.f64 im (log.f64 (sqrt.f64 (exp.f64 im)))))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(cbrt.f64 (pow.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2) 3))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(expm1.f64 (log1p.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 1))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)) 1) 1))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 3))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2))) 1/3))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (*.f64 (log.f64 (*.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) (sqrt.f64 1/2))) 2))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1) (log.f64 (*.f64 im 1/2))))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(exp.f64 (+.f64 (log.f64 (*.f64 im 1/2)) (*.f64 (log.f64 (*.f64 im (sin.f64 re))) 1)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(log1p.f64 (expm1.f64 (*.f64 (*.f64 (sin.f64 re) (*.f64 im im)) 1/2)))
(*.f64 (sin.f64 re) (*.f64 (*.f64 im im) 1/2))
(*.f64 (sin.f64 re) (*.f64 im (*.f64 im 1/2)))
(+.f64 0 (cbrt.f64 re))
(cbrt.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (cbrt.f64 (cbrt.f64 (*.f64 re re))) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (cbrt.f64 (cbrt.f64 (*.f64 re re))))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.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 (cbrt.f64 (*.f64 re re)) 1/2)
(sqrt.f64 (cbrt.f64 (*.f64 re re)))
(pow.f64 (*.f64 re re) 1/6)
(pow.f64 (pow.f64 re 3) 1/9)
(*.f64 (pow.f64 (pow.f64 re 3) 1/18) (pow.f64 (pow.f64 re 3) 1/18))
(pow.f64 (pow.f64 re 1/6) 2)
(cbrt.f64 re)
(pow.f64 (sqrt.f64 re) 2/3)
(*.f64 (cbrt.f64 (sqrt.f64 re)) (cbrt.f64 (sqrt.f64 re)))
(pow.f64 (exp.f64 1) (log.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(pow.f64 (exp.f64 1/3) (log.f64 re))
(cbrt.f64 re)
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (cbrt.f64 re))) 2)) (cbrt.f64 (log.f64 (cbrt.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (cbrt.f64 re)))) (sqrt.f64 (log.f64 (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)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)

eval46.0ms (0.7%)

Compiler

Compiled 2933 to 1479 computations (49.6% saved)

prune75.0ms (1.2%)

Pruning

24 alts after pruning (14 fresh and 10 done)

PrunedKeptTotal
New1825187
Fresh2911
Picked055
Done055
Total18424208
Accurracy
100.0%
Counts
208 → 24
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(fma.f64 re -512 re)
12.8%
(pow.f64 (pow.f64 re 3) 1/9)
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.5%
(pow.f64 (*.f64 re re) 1/6)
11.3%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.9%
(/.f64 re -512)
54.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))))
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
41.5%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))))
57.1%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
67.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
3.8%
(+.f64 (sin.f64 re) 1)
4.7%
(+.f64 (sin.f64 re) -4)
4.2%
(+.f64 (sin.f64 re) -512)
44.8%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
11.7%
(fabs.f64 re)
4.1%
(cbrt.f64 re)
27.5%
re
2.8%
(fma.f64 re -512 re)
12.8%
(pow.f64 (pow.f64 re 3) 1/9)
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.5%
(pow.f64 (*.f64 re re) 1/6)
11.3%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.9%
(/.f64 re -512)
54.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))))
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
41.5%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))))
57.1%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
67.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
3.8%
(+.f64 (sin.f64 re) 1)
4.7%
(+.f64 (sin.f64 re) -4)
4.2%
(+.f64 (sin.f64 re) -512)
44.8%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
11.7%
(fabs.f64 re)
4.1%
(cbrt.f64 re)
27.5%
re
Compiler

Compiled 634 to 460 computations (27.4% saved)

localize137.0ms (2.2%)

Local Accuracy

Found 3 expressions with local accuracy:

NewAccuracyProgram
74.8%
(pow.f64 (pow.f64 re 3) 1/9)
81.1%
(pow.f64 (*.f64 re re) 1/6)
99.9%
(*.f64 im (*.f64 re im))
Compiler

Compiled 64 to 30 computations (53.1% saved)

series74.0ms (1.2%)

Counts
3 → 48
Calls

12 calls:

TimeVariablePointExpression
30.0ms
re
@0
(pow.f64 (*.f64 re re) 1/6)
15.0ms
re
@-inf
(pow.f64 (pow.f64 re 3) 1/9)
11.0ms
re
@inf
(pow.f64 (*.f64 re re) 1/6)
7.0ms
re
@0
(pow.f64 (pow.f64 re 3) 1/9)
7.0ms
re
@inf
(pow.f64 (pow.f64 re 3) 1/9)

rewrite74.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
1006×log-prod
862×prod-exp
640×pow-prod-down
572×pow-exp
546×pow-prod-up
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01339
128423
2312023
Stop Event
node limit
Counts
3 → 123
Calls
Call 1
Inputs
(*.f64 im (*.f64 re im))
(pow.f64 (*.f64 re re) 1/6)
(pow.f64 (pow.f64 re 3) 1/9)
Outputs
(+.f64 0 (*.f64 re (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 im im)))) 1)
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 im im))) 2)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(pow.f64 (*.f64 (sqrt.f64 re) im) 2)
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (*.f64 im im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (*.f64 im im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (*.f64 im im)))) 2))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (*.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (*.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 im re)) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im re)) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im re)) 1) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 re) 1)))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 (pow.f64 re 4) 1/18) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(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))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/6))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/6))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/9))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 6 (log.f64 re)) 1/18))
(exp.f64 (*.f64 (*.f64 4 (log.f64 re)) 1/12))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/6) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) 2))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 (pow.f64 re 4) 1/18) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(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))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/6))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/6))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/9))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 6 (log.f64 re)) 1/18))
(exp.f64 (*.f64 (*.f64 4 (log.f64 re)) 1/12))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/6) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) 2))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))

simplify72.0ms (1.2%)

Algorithm
egg-herbie
Rules
1112×log-prod
1058×associate-*r*
940×associate-*l*
804×prod-exp
638×fma-def
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02141639
14711565
210901565
347321565
Stop Event
node limit
Counts
171 → 88
Calls
Call 1
Inputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(*.f64 re (pow.f64 im 2))
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 (*.f64 -1 re) 1/3)
(pow.f64 (*.f64 -1 re) 1/3)
(pow.f64 (*.f64 -1 re) 1/3)
(pow.f64 (*.f64 -1 re) 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(pow.f64 re 1/3)
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(+.f64 0 (*.f64 re (*.f64 im im)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 im im)))) 1)
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2) 1/2)
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 im im))) 2)
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(pow.f64 (*.f64 (sqrt.f64 re) im) 2)
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 im im)))))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1) 1))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (*.f64 im im)))) 3))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (*.f64 im im)))) 1/3))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (*.f64 im im)))) 2))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (*.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im re))))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (*.f64 im re)) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (*.f64 2 (log.f64 im))))
(exp.f64 (+.f64 (log.f64 (*.f64 im re)) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im re)) 1) (log.f64 im)))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im re)) 1) (*.f64 (log.f64 im) 1)))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 re) 1)))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 (pow.f64 re 4) 1/18) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(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))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/6))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/6))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/9))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 6 (log.f64 re)) 1/18))
(exp.f64 (*.f64 (*.f64 4 (log.f64 re)) 1/12))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/6) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) 2))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(+.f64 0 (cbrt.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 (pow.f64 re 4) 1/18) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(log.f64 (exp.f64 (cbrt.f64 re)))
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(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))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/6))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/6))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/9))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(exp.f64 (*.f64 (*.f64 6 (log.f64 re)) 1/18))
(exp.f64 (*.f64 (*.f64 4 (log.f64 re)) 1/12))
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) 2))
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/6) 2))
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) 2))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 1/6 (log.f64 re))))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (log.f64 re) 1/6)))
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
Outputs
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(*.f64 re (pow.f64 im 2))
(*.f64 re (*.f64 im im))
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 (*.f64 -1 re) 1/3)
(cbrt.f64 (neg.f64 re))
(pow.f64 (*.f64 -1 re) 1/3)
(cbrt.f64 (neg.f64 re))
(pow.f64 (*.f64 -1 re) 1/3)
(cbrt.f64 (neg.f64 re))
(pow.f64 (*.f64 -1 re) 1/3)
(cbrt.f64 (neg.f64 re))
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(pow.f64 re 1/3)
(cbrt.f64 re)
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(pow.f64 (exp.f64 1/9) (fma.f64 -3 (log.f64 (/.f64 -1 re)) (log.f64 -1)))
(exp.f64 (fma.f64 (log.f64 (/.f64 -1 re)) -1/3 (*.f64 1/9 (log.f64 -1))))
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(pow.f64 (exp.f64 1/9) (fma.f64 -3 (log.f64 (/.f64 -1 re)) (log.f64 -1)))
(exp.f64 (fma.f64 (log.f64 (/.f64 -1 re)) -1/3 (*.f64 1/9 (log.f64 -1))))
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(pow.f64 (exp.f64 1/9) (fma.f64 -3 (log.f64 (/.f64 -1 re)) (log.f64 -1)))
(exp.f64 (fma.f64 (log.f64 (/.f64 -1 re)) -1/3 (*.f64 1/9 (log.f64 -1))))
(exp.f64 (*.f64 1/9 (+.f64 (*.f64 -3 (log.f64 (/.f64 -1 re))) (log.f64 -1))))
(pow.f64 (exp.f64 1/9) (fma.f64 -3 (log.f64 (/.f64 -1 re)) (log.f64 -1)))
(exp.f64 (fma.f64 (log.f64 (/.f64 -1 re)) -1/3 (*.f64 1/9 (log.f64 -1))))
(+.f64 0 (*.f64 re (*.f64 im im)))
(*.f64 re (*.f64 im im))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im)) 2)) (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(*.f64 3 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(*.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))) 3)
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))) (log.f64 (sqrt.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))))
(*.f64 re (*.f64 im im))
(-.f64 (exp.f64 (log1p.f64 (*.f64 re (*.f64 im im)))) 1)
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 re (*.f64 im im)) 1)
(*.f64 re (*.f64 im im))
(pow.f64 (cbrt.f64 (*.f64 re (*.f64 im im))) 3)
(*.f64 re (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2) 1/2)
(*.f64 re (*.f64 im im))
(pow.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3) 1/3)
(*.f64 re (*.f64 im im))
(pow.f64 (sqrt.f64 (*.f64 re (*.f64 im im))) 2)
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 im (sqrt.f64 re)) 2)
(*.f64 re (*.f64 im im))
(pow.f64 (*.f64 (sqrt.f64 re) im) 2)
(*.f64 re (*.f64 im im))
(sqrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 2))
(*.f64 re (*.f64 im im))
(log.f64 (pow.f64 (pow.f64 (exp.f64 im) re) im))
(*.f64 re (*.f64 im im))
(log.f64 (+.f64 1 (expm1.f64 (*.f64 re (*.f64 im im)))))
(*.f64 re (*.f64 im im))
(cbrt.f64 (pow.f64 (*.f64 re (*.f64 im im)) 3))
(*.f64 re (*.f64 im im))
(expm1.f64 (log1p.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(exp.f64 (log.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (*.f64 (log.f64 (*.f64 re (*.f64 im im))) 1) 1))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 re (*.f64 im im)))) 3))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (*.f64 3 (log.f64 (*.f64 re (*.f64 im im)))) 1/3))
(*.f64 re (*.f64 im im))
(exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 re (*.f64 im im)))) 2))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (log.f64 im) (*.f64 (log.f64 (*.f64 im re)) 1)))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (log.f64 (*.f64 im re))))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 im) 1) (*.f64 (log.f64 (*.f64 im re)) 1)))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1) (*.f64 2 (log.f64 im))))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (log.f64 (*.f64 im re)) (*.f64 (log.f64 im) 1)))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im re)) 1) (log.f64 im)))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (*.f64 (log.f64 (*.f64 im re)) 1) (*.f64 (log.f64 im) 1)))
(*.f64 re (*.f64 im im))
(exp.f64 (+.f64 (*.f64 2 (log.f64 im)) (*.f64 (log.f64 re) 1)))
(*.f64 re (*.f64 im im))
(log1p.f64 (expm1.f64 (*.f64 re (*.f64 im im))))
(*.f64 re (*.f64 im im))
(+.f64 0 (cbrt.f64 re))
(cbrt.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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)))))
(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 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 (pow.f64 re 4) 1/18) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.f64 re)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(cbrt.f64 re)
(log.f64 (exp.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(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)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/6))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/6))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/9))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 6 (log.f64 re)) 1/18))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 4 (log.f64 re)) 1/12))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) 2))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/6) 2))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) 2))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 1/6 (log.f64 re))))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 1/6 (log.f64 re))))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 1/6 (log.f64 re))))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(+.f64 0 (cbrt.f64 re))
(cbrt.f64 re)
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (exp.f64 (cbrt.f64 re))) 2)) (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)))))
(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 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 (pow.f64 re 4) 1/18) (cbrt.f64 (cbrt.f64 re)))
(*.f64 (cbrt.f64 (cbrt.f64 re)) (pow.f64 (pow.f64 re 4) 1/18))
(*.f64 (pow.f64 re 1/6) (pow.f64 re 1/6))
(cbrt.f64 re)
(sqrt.f64 (pow.f64 (cbrt.f64 re) 2))
(cbrt.f64 re)
(log.f64 (exp.f64 (cbrt.f64 re)))
(cbrt.f64 re)
(log.f64 (+.f64 1 (expm1.f64 (cbrt.f64 re))))
(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)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1) 1/3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 2) 1/6))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1) 1/6))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/3) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 (cbrt.f64 re)) 1) 1))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1) 1/9))
(cbrt.f64 re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (cbrt.f64 re))) 3))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 6 (log.f64 re)) 1/18))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 4 (log.f64 re)) 1/12))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 1/6 (log.f64 re)) 2))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) 2))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (log.f64 re) 1/6) 2))
(cbrt.f64 re)
(exp.f64 (*.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) 2))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 1/6 (log.f64 re)) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 1/6 (log.f64 re))))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 3 (log.f64 re)) 1/18) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 1/6 (log.f64 re))))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (log.f64 re) 1/6) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 1/6 (log.f64 re))))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 3 (log.f64 re)) 1/18)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (log.f64 re) 1/6)))
(cbrt.f64 re)
(exp.f64 (+.f64 (*.f64 (*.f64 2 (log.f64 re)) 1/12) (*.f64 (*.f64 2 (log.f64 re)) 1/12)))
(cbrt.f64 re)
(log1p.f64 (expm1.f64 (cbrt.f64 re)))
(cbrt.f64 re)

eval62.0ms (1%)

Compiler

Compiled 941 to 528 computations (43.9% saved)

prune28.0ms (0.5%)

Pruning

25 alts after pruning (10 fresh and 15 done)

PrunedKeptTotal
New87188
Fresh099
Picked055
Done01010
Total8725112
Accurracy
100.0%
Counts
112 → 25
Alt Table
Click to see full alt table
StatusAccuracyProgram
2.8%
(fma.f64 re -512 re)
12.8%
(pow.f64 (pow.f64 re 3) 1/9)
8.8%
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
9.5%
(pow.f64 (*.f64 re re) 1/6)
11.3%
(pow.f64 re -512)
4.1%
(/.f64 re (+.f64 re (-.f64 re re)))
2.9%
(/.f64 re -512)
54.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))))
71.8%
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))
41.5%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))))
57.1%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
67.4%
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
3.8%
(+.f64 (sin.f64 re) 1)
4.7%
(+.f64 (sin.f64 re) -4)
4.2%
(+.f64 (sin.f64 re) -512)
44.8%
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
6.9%
(+.f64 re re)
100.0%
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
61.3%
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
50.3%
(sin.f64 re)
38.6%
(log1p.f64 (expm1.f64 re))
11.7%
(fabs.f64 re)
2.5%
(cbrt.f64 (neg.f64 re))
4.1%
(cbrt.f64 re)
27.5%
re
Compiler

Compiled 426 to 271 computations (36.4% saved)

regimes89.0ms (1.4%)

Counts
30 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (pow.f64 re 3) 1/9)
(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 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.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 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))))
(+.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 (sin.f64 re) (*.f64 1/2 (*.f64 im (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))))
(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)))
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

23.0ms
im
15.0ms
(sin.f64 re)
15.0ms
(*.f64 1/2 (sin.f64 re))
14.0ms
re
10.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 258 to 151 computations (41.5% saved)

regimes163.0ms (2.6%)

Counts
28 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (pow.f64 re 3) 1/9)
(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 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.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 (sin.f64 re) (*.f64 (*.f64 im im) (+.f64 (*.f64 re 1/2) (*.f64 (pow.f64 re 3) -1/12))))
(+.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 (sin.f64 re) (*.f64 1/2 (*.f64 im (+.f64 (*.f64 -1/6 (*.f64 (pow.f64 re 3) im)) (*.f64 re im)))))
(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 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.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:

63.0ms
im
52.0ms
(sin.f64 re)
41.0ms
re
Results
AccuracySegmentsBranch
85.5%3re
91.6%5im
85.0%3(sin.f64 re)
Compiler

Compiled 206 to 117 computations (43.2% saved)

regimes97.0ms (1.6%)

Counts
22 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (pow.f64 re 3) 1/9)
(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 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
Outputs
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))
Calls

2 calls:

58.0ms
im
33.0ms
re
Results
AccuracySegmentsBranch
85.2%3re
88.6%5im
Compiler

Compiled 114 to 64 computations (43.9% saved)

regimes131.0ms (2.1%)

Counts
21 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (pow.f64 re 3) 1/9)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(sin.f64 re)
(*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Calls

3 calls:

59.0ms
re
36.0ms
im
32.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
74.8%3(sin.f64 re)
76.5%4re
83.9%3im
Compiler

Compiled 107 to 62 computations (42.1% saved)

regimes165.0ms (2.7%)

Counts
20 → 5
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
(log1p.f64 (expm1.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (pow.f64 re 3) 1/9)
(pow.f64 (*.f64 (sin.f64 re) -2) -2)
Outputs
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(log1p.f64 (expm1.f64 re))
(sin.f64 re)
(pow.f64 re -512)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
Calls

3 calls:

68.0ms
re
51.0ms
im
29.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
61.6%3(sin.f64 re)
62.7%4re
72.8%5im
Compiler

Compiled 97 to 55 computations (43.3% saved)

regimes35.0ms (0.6%)

Counts
16 → 4
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 re im))))
Outputs
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
(sin.f64 re)
(pow.f64 re -512)
(+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))
Calls

1 calls:

32.0ms
im
Results
AccuracySegmentsBranch
70.3%4im
Compiler

Compiled 71 to 39 computations (45.1% saved)

regimes132.0ms (2.1%)

Counts
14 → 3
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
(pow.f64 re -512)
(+.f64 (sin.f64 re) -512)
(+.f64 (sin.f64 re) -4)
(+.f64 (sin.f64 re) 1)
(fma.f64 re -512 re)
(pow.f64 (*.f64 re re) 1/6)
Outputs
(pow.f64 re -512)
(sin.f64 re)
(pow.f64 re -512)
Calls

3 calls:

77.0ms
(sin.f64 re)
29.0ms
re
23.0ms
im
Results
AccuracySegmentsBranch
54.2%3re
54.2%3(sin.f64 re)
59.2%3im
Compiler

Compiled 59 to 33 computations (44.1% saved)

regimes22.0ms (0.4%)

Counts
8 → 1
Calls
Call 1
Inputs
re
(+.f64 re re)
(/.f64 re -512)
(/.f64 re (+.f64 re (-.f64 re re)))
(cbrt.f64 re)
(fabs.f64 re)
(sin.f64 re)
(cbrt.f64 (neg.f64 re))
Outputs
(sin.f64 re)
Calls

3 calls:

8.0ms
im
7.0ms
(sin.f64 re)
5.0ms
re
Results
AccuracySegmentsBranch
50.3%1(sin.f64 re)
50.3%1re
50.3%1im
Compiler

Compiled 35 to 20 computations (42.9% saved)

regimes11.0ms (0.2%)

Accuracy

Total -16.8b remaining (-36.2%)

Threshold costs -16.8b (-36.2%)

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

2 calls:

6.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
27.5%1re
27.5%1im
Compiler

Compiled 26 to 14 computations (46.2% saved)

bsearch185.0ms (3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
2.14008176253494e+150
7.954869915403204e+154
39.0ms
1.9153405923325189
1987914501.7988899
87.0ms
-1865738836852.6003
-2.5569010309034654
30.0ms
-1.3540944963149342e+154
-7.256021437460486e+150
Results
72.0ms74×body1024infinite
29.0ms193×body256infinite
28.0ms168×body256valid
26.0ms52×body1024valid
10.0ms36×body512valid
9.0ms37×body512infinite
Compiler

Compiled 964 to 680 computations (29.5% saved)

bsearch150.0ms (2.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
26.0ms
6.531883908576354e+246
5.871364570678214e+247
39.0ms
1.9153405923325189
1987914501.7988899
40.0ms
-1865738836852.6003
-2.5569010309034654
45.0ms
-1.3540944963149342e+154
-7.256021437460486e+150
Results
40.0ms76×body1024infinite
29.0ms167×body256valid
25.0ms53×body1024valid
24.0ms156×body256infinite
14.0ms40×body512infinite
10.0ms36×body512valid
Compiler

Compiled 910 to 642 computations (29.5% saved)

bsearch67.0ms (1.1%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
7.690413530296189e-10
6.379065187806253e-6
29.0ms
-0.0001976143582023801
-1.5336591843934665e-6
Results
31.0ms54×body1024valid
25.0ms154×body256valid
8.0ms32×body512valid
Compiler

Compiled 289 to 225 computations (22.1% saved)

bsearch100.0ms (1.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
4.105802953963661e+94
5.466592437966283e+95
33.0ms
3809729199137899000.0
9.588249999796559e+21
29.0ms
-62188896255823.63
-1865738836852.6003
11.0ms
-5.998279032254243e+125
-5.105579217306994e+125
Results
49.0ms237×body256infinite
34.0ms96×body1024infinite
12.0ms51×body512infinite
Compiler

Compiled 346 to 276 computations (20.2% saved)

bsearch96.0ms (1.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
4.105802953963661e+94
5.466592437966283e+95
40.0ms
3809729199137899000.0
9.588249999796559e+21
34.0ms
-0.0001976143582023801
-1.5336591843934665e-6
Results
25.0ms139×body256infinite
18.0ms54×body1024infinite
17.0ms31×body512infinite
15.0ms72×body256valid
10.0ms26×body1024valid
7.0ms14×body512valid
Compiler

Compiled 334 to 262 computations (21.6% saved)

bsearch58.0ms (0.9%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
31.0ms
3809729199137899000.0
9.588249999796559e+21
27.0ms
-9.700216223052848e+19
-1579249515525932300.0
Results
23.0ms148×body256infinite
18.0ms54×body1024infinite
15.0ms38×body512infinite
Compiler

Compiled 184 to 150 computations (18.5% saved)

simplify25.0ms (0.4%)

Algorithm
egg-herbie
Rules
22×*-commutative
10×+-commutative
10×if-if-or-not
not-or
if-not
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
084703
1113679
2118653
3125649
4129649
5133649
6134649
7136649
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 -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im -5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/4503599627370496) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.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 -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im -5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/4503599627370496) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im 12000000000000000046773576071030150385995385848504302211846872190747926268960507540009178689327632224694618547675516677124633389021336430290948737536789960472714860126843490522580129222924382545538446806453416244978057986644175167155499049534095360) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))))))
(if (<=.f64 im -7194230188746725/36893488147419103232) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 3659834024223975/590295810358705651712) (sin.f64 re) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(if (<=.f64 im -590000000000000008279333209339664709825721181283704105464432419159288681829035648017348623887291549300260298282875711962218496) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))) (if (<=.f64 im -2300000000000) (log1p.f64 (expm1.f64 re)) (if (<=.f64 im 4000000000000000000) (sin.f64 re) (if (<=.f64 im 94999999999999998215446661485696710360457630427350934103449292039262331212182921135856145137664) (pow.f64 re -512) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))))
(if (<=.f64 im -3504881374004815/18446744073709551616) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))) (if (<=.f64 im 3900000000000000000) (sin.f64 re) (if (<=.f64 im 179999999999999988818010820511597443726611257066532188186241796915448523849098822671685015044096) (pow.f64 re -512) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))))
(if (<=.f64 im -1600000000000000000) (pow.f64 re -512) (if (<=.f64 im 3900000000000000000) (sin.f64 re) (pow.f64 re -512)))
(sin.f64 re)
re
Outputs
(*.f64 (*.f64 1/2 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im -5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/4503599627370496) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.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 -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im))) (if (<=.f64 im -5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (<=.f64 im 8782019273372467/4503599627370496) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (if (<=.f64 im 13999999999999999624126215218373424466723756628999792018937385960434328649190950682933561119844203475201553338089456373175085254909523321112146188185894912) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (sin.f64 re) (*.f64 (*.f64 1/2 (sin.f64 re)) (*.f64 im im)))))))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im -5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 8782019273372467/4503599627370496) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re))))) (if (<=.f64 im 12000000000000000046773576071030150385995385848504302211846872190747926268960507540009178689327632224694618547675516677124633389021336430290948737536789960472714860126843490522580129222924382545538446806453416244978057986644175167155499049534095360) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 im (sin.f64 re)))))))))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (if (<=.f64 im -5854679515581645/2251799813685248) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (if (or (<=.f64 im 8782019273372467/4503599627370496) (not (<=.f64 im 12000000000000000046773576071030150385995385848504302211846872190747926268960507540009178689327632224694618547675516677124633389021336430290948737536789960472714860126843490522580129222924382545538446806453416244978057986644175167155499049534095360))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))
(if (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (if (or (<=.f64 im -5854679515581645/2251799813685248) (not (or (<=.f64 im 8782019273372467/4503599627370496) (not (<=.f64 im 12000000000000000046773576071030150385995385848504302211846872190747926268960507540009178689327632224694618547675516677124633389021336430290948737536789960472714860126843490522580129222924382545538446806453416244978057986644175167155499049534095360))))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im))))))
(if (or (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (not (or (<=.f64 im -5854679515581645/2251799813685248) (not (or (<=.f64 im 8782019273372467/4503599627370496) (not (<=.f64 im 12000000000000000046773576071030150385995385848504302211846872190747926268960507540009178689327632224694618547675516677124633389021336430290948737536789960472714860126843490522580129222924382545538446806453416244978057986644175167155499049534095360))))))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (or (<=.f64 im -13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160) (not (or (<=.f64 im -5854679515581645/2251799813685248) (and (not (<=.f64 im 8782019273372467/4503599627370496)) (<=.f64 im 12000000000000000046773576071030150385995385848504302211846872190747926268960507540009178689327632224694618547675516677124633389021336430290948737536789960472714860126843490522580129222924382545538446806453416244978057986644175167155499049534095360))))) (+.f64 (sin.f64 re) (*.f64 1/2 (*.f64 im (*.f64 (sin.f64 re) im)))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(if (<=.f64 im -7194230188746725/36893488147419103232) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (if (<=.f64 im 3659834024223975/590295810358705651712) (sin.f64 re) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(if (or (<=.f64 im -7194230188746725/36893488147419103232) (not (<=.f64 im 3659834024223975/590295810358705651712))) (*.f64 (*.f64 1/2 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (sin.f64 re))
(if (<=.f64 im -590000000000000008279333209339664709825721181283704105464432419159288681829035648017348623887291549300260298282875711962218496) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))) (if (<=.f64 im -2300000000000) (log1p.f64 (expm1.f64 re)) (if (<=.f64 im 4000000000000000000) (sin.f64 re) (if (<=.f64 im 94999999999999998215446661485696710360457630427350934103449292039262331212182921135856145137664) (pow.f64 re -512) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2))))))))
(if (<=.f64 im -3504881374004815/18446744073709551616) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))) (if (<=.f64 im 3900000000000000000) (sin.f64 re) (if (<=.f64 im 179999999999999988818010820511597443726611257066532188186241796915448523849098822671685015044096) (pow.f64 re -512) (+.f64 re (*.f64 1/2 (*.f64 re (pow.f64 im 2)))))))
(if (<=.f64 im -1600000000000000000) (pow.f64 re -512) (if (<=.f64 im 3900000000000000000) (sin.f64 re) (pow.f64 re -512)))
(sin.f64 re)
re
Compiler

Compiled 254 to 170 computations (33.1% saved)

soundness436.0ms (7%)

Rules
1568×unswap-sqr
1404×fma-def
1156×fma-neg
1156×fma-neg
1114×div-sub
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01435
13035
27435
314133
418933
525633
643833
7110433
8315833
9354033
10403133
11567033
12665033
0981223
12981143
29601143
349691143
01969
140769
2630269
01969
140769
2630269
0981223
12981143
29601143
349691143
01252214
12772194
26762158
326812158
473172158
Stop Event
unsound
node limit
unsound
unsound
node limit
node limit
Compiler

Compiled 25 to 17 computations (32% saved)

end154.0ms (2.5%)

Compiler

Compiled 504 to 288 computations (42.9% saved)

Profiling

Loading profile data...