math.sin on complex, real part

Time bar (total: 6.9s)

analyze1.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
Results
Compiler

Compiled 15 to 12 computations (20% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Operation ival-sub, time spent: 0.0ms, 0.0% of total-time
Operation ival-exp, time spent: 0.0ms, 0.0% of total-time
Operation ival-add, time spent: 0.0ms, 0.0% of total-time
Operation ival-mult, time spent: 0.0ms, 0.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time
Operation ival-sin, time spent: 0.0ms, 0.0% of total-time

sample2.6s (37.8%)

Results
1.5s4256×256valid
921.0ms4000×256infinite
Precisions
Click to see histograms. Total time spent on operations: 1.4s
Operation ival-mult, time spent: 680.0ms, 48.0% of total-time
Operation ival-sin, time spent: 366.0ms, 26.0% of total-time
Operation ival-exp, time spent: 179.0ms, 13.0% of total-time
Operation ival-add, time spent: 84.0ms, 6.0% of total-time
Operation ival-sub, time spent: 77.0ms, 5.0% of total-time
Operation const, time spent: 28.0ms, 2.0% of total-time
Bogosity

preprocess535.0ms (7.7%)

Algorithm
egg-herbie
Rules
989×fma-neg
725×fma-define
264×times-frac
215×distribute-lft-neg-in
170×unsub-neg
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
00-0-(exp.f64 (-.f64 #s(literal 0 binary64) im))
00-0-#s(literal 1/2 binary64)
00-0-re
00-0-(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
00-0-(-.f64 #s(literal 0 binary64) im)
00-0-im
00-0-#s(literal 0 binary64)
00-0-(sin.f64 re)
00-0-(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
00-0-(exp.f64 im)
00-0-(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
036316
1111308
2397308
3986298
41988294
53213294
63708294
74185294
84839294
94992294
105009294
115009294
125041294
135070294
145070294
Stop Event
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal -1/2 binary64)))
(*.f64 (sin.f64 re) (*.f64 #s(literal -1/2 binary64) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal -1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 (neg.f64 re))) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(neg.f64 (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) (neg.f64 im))) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (neg.f64 (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (sin.f64 re) #s(literal -1/2 binary64)))
(*.f64 (sin.f64 re) (*.f64 #s(literal -1/2 binary64) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (sin.f64 re) (fma.f64 (exp.f64 im) #s(literal -1/2 binary64) (/.f64 #s(literal -1/2 binary64) (exp.f64 im))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) re)) (exp.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 (sin.f64 im) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (sin.f64 im) (fma.f64 #s(literal 1/2 binary64) (exp.f64 re) (/.f64 #s(literal 1/2 binary64) (exp.f64 re))))
Symmetry

(abs im)

(negabs re)

Results
Compiler

Compiled 96 to 61 computations (36.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 125.0ms
Operation ival-exp, time spent: 78.0ms, 62.0% of total-time
Operation ival-sin, time spent: 15.0ms, 12.0% of total-time
Operation ival-mult, time spent: 13.0ms, 10.0% of total-time
Operation ival-sub, time spent: 11.0ms, 9.0% of total-time
Operation ival-add, time spent: 6.0ms, 5.0% of total-time
Operation const, time spent: 3.0ms, 2.0% of total-time

eval1.0ms (0%)

Results
Compiler

Compiled 24 to 15 computations (37.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

prune1.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
Compiler

Compiled 13 to 10 computations (23.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

localize59.0ms (0.9%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Results
Compiler

Compiled 36 to 14 computations (61.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 22.0ms
Operation ival-sin, time spent: 8.0ms, 36.0% of total-time
Operation ival-mult, time spent: 7.0ms, 32.0% of total-time
Operation ival-exp, time spent: 4.0ms, 18.0% of total-time
Operation ival-add, time spent: 2.0ms, 9.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time
Operation ival-neg, time spent: 1.0ms, 5.0% of total-time

series7.0ms (0.1%)

Counts
1 → 24
Calls
Call 1
Inputs
#<alt (*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))>
Outputs
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 re (+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))>
#<alt (*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))>
#<alt (*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (sin.f64 re)>
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))>
#<alt (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))))>
#<alt (+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/24 binary64) (sin.f64 re)))))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
Calls

6 calls:

TimeVariablePointExpression
2.0ms
im
@inf
(* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im)))
1.0ms
re
@0
(* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im)))
1.0ms
re
@-inf
(* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im)))
1.0ms
re
@inf
(* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im)))
1.0ms
im
@-inf
(* (* 1/2 (sin re)) (+ (exp (neg im)) (exp im)))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

rewrite170.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
100×associate-*r*
90×add-exp-log
90×add-log-exp
90×log1p-expm1-u
90×expm1-log1p-u
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2330644
Stop Event
unsound
Counts
1 → 22
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (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) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) #s(literal 1 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1/3 binary64))
(sqrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(fabs.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(log.f64 (pow.f64 #s(literal 1 binary64) (sin.f64 re)))
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))))
(cbrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal 1 binary64)))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal -2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

simplify72.0ms (1%)

Algorithm
egg-herbie
Rules
510×fma-define
395×associate-*r*
328×associate-*r/
324×associate-*l/
307×associate-*l*
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01031556
13201402
211021402
341771402
Stop Event
node limit
Counts
46 → 48
Calls
Call 1
Inputs
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 re (+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/24 binary64) (sin.f64 re)))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(+.f64 (sin.f64 re) (sin.f64 re))
(+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) #s(literal 1 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64))
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))))
(/.f64 (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1/3 binary64))
(sqrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(fabs.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(log.f64 (pow.f64 #s(literal 1 binary64) (sin.f64 re)))
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))))
(cbrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(exp.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal 1 binary64)))
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal -2 binary64)))
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(fma.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
Outputs
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))))
(*.f64 re (+.f64 (*.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (fma.f64 #s(literal -1/12 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(*.f64 re (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/2 binary64))))
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/240 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/240 binary64))))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 #s(literal -1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/240 binary64)))) (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im)))))
(*.f64 re (+.f64 (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/10080 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 #s(literal 1/240 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/12 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/10080 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re #s(literal 2 binary64))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) #s(literal 1/240 binary64))))))))
(*.f64 re (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 #s(literal -1/12 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/2 binary64))) (*.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/10080 binary64)) #s(literal 1/240 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (sin.f64 re)))
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (sin.f64 re)))))
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sin.f64 re) (+.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/24 binary64)))) (sin.f64 re))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) (*.f64 #s(literal 1/24 binary64) (sin.f64 re)))))))
(+.f64 (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))) (*.f64 (sin.f64 re) #s(literal 1/24 binary64)))))))
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) (sin.f64 re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (sin.f64 re) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64)) #s(literal 1/24 binary64))))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (sin.f64 re)))
(*.f64 (fma.f64 #s(literal 1/2 binary64) (exp.f64 im) (/.f64 #s(literal 1/2 binary64) (exp.f64 im))) (sin.f64 re))
(+.f64 (sin.f64 re) (sin.f64 re))
(sin.f64 re)
(+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(sin.f64 re)
(-.f64 (exp.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))) #s(literal 1 binary64))
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64))
(sin.f64 re)
(/.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (+.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))))
(sin.f64 re)
(/.f64 (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))) (-.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64))
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1/3 binary64))
(sin.f64 re)
(sqrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(fabs.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(sin.f64 re)
(log.f64 (pow.f64 #s(literal 1 binary64) (sin.f64 re)))
(sin.f64 re)
(log.f64 (+.f64 #s(literal 1 binary64) (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))))
(sin.f64 re)
(cbrt.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(sin.f64 re)
(expm1.f64 (log1p.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(sin.f64 re)
(log1p.f64 (expm1.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(sin.f64 re)
(exp.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))))
(sin.f64 re)
(exp.f64 (*.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal 1 binary64)))
(sin.f64 re)
(exp.f64 (+.f64 (log.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64))) #s(literal -2 binary64)))
(sin.f64 re)
(fma.f64 #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(sin.f64 re)
(fma.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal 1 binary64) (*.f64 (sin.f64 re) #s(literal -2 binary64)))
(sin.f64 re)
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

eval16.0ms (0.2%)

Results
Compiler

Compiled 711 to 374 computations (47.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

prune14.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New43548
Fresh000
Picked011
Done000
Total43649
Accuracy
100.0%
Counts
49 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.0%
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
10.0%
(+.f64 (sin.f64 re) (sin.f64 re))
72.4%
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
46.9%
(sin.f64 re)
Results
Compiler

Compiled 99 to 76 computations (23.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

localize168.0ms (2.4%)

Localize:

Found 4 expressions with local error:

NewAccuracyProgram
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
99.6%
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
100.0%
(*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))
94.4%
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
Results
Compiler

Compiled 89 to 44 computations (50.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 70.0ms
Operation ival-pow, time spent: 28.0ms, 40.0% of total-time
Operation ival-mult, time spent: 19.0ms, 27.0% of total-time
Operation ival-sin, time spent: 8.0ms, 11.0% of total-time
Operation ival-add, time spent: 7.0ms, 10.0% of total-time
Operation ival-exp, time spent: 4.0ms, 6.0% of total-time
Operation const, time spent: 3.0ms, 4.0% of total-time
Operation ival-neg, time spent: 1.0ms, 1.0% of total-time

series22.0ms (0.3%)

Counts
4 → 60
Calls
Call 1
Inputs
#<alt (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))>
#<alt (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))>
#<alt (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))>
#<alt (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))>
Outputs
#<alt (sin.f64 re)>
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))>
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))>
#<alt (+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))>
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))>
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))))))))>
#<alt (*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/120 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))))))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))>
#<alt (/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64)))>
#<alt (/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 re #s(literal 2 binary64)))>
#<alt (/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/378 binary64) (pow.f64 re #s(literal 2 binary64)))))))) (pow.f64 re #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt re>
#<alt (+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))>
#<alt (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) re))))>
#<alt (+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/24 binary64) re))))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
#<alt (*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))>
Calls

18 calls:

TimeVariablePointExpression
3.0ms
im
@inf
(* 1/2 (pow im 2))
2.0ms
re
@inf
(pow (* (sin re) -2) -2)
2.0ms
re
@-inf
(pow (* (sin re) -2) -2)
1.0ms
re
@0
(* (* 1/2 re) (+ (exp im) (exp (neg im))))
1.0ms
im
@inf
(* (* 1/2 re) (+ (exp im) (exp (neg im))))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

rewrite89.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
163×associate-*r*
155×log1p-expm1-u
155×expm1-log1p-u
152×add-exp-log
152×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025124
1353124
25692124
Stop Event
unsound
Counts
4 → 56
Calls
Call 1
Inputs
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

simplify213.0ms (3.1%)

Algorithm
egg-herbie
Rules
807×associate-+r+
722×associate-+l+
659×fma-define
527×associate-*r*
452×distribute-rgt-out
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01092555
13192252
210772203
340782179
466592179
575832179
Stop Event
node limit
Counts
116 → 68
Calls
Call 1
Inputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/120 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))))))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/378 binary64) (pow.f64 re #s(literal 2 binary64)))))))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) re))))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/24 binary64) re))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
Outputs
(sin.f64 re)
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (/.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/6 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/12 binary64)))))))
(*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))))
(*.f64 re (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))))
(*.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (*.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/120 binary64)))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64))))))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) #s(literal 1 binary64))))
(*.f64 re (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 4 binary64)) #s(literal 1/120 binary64)))))
(*.f64 re (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))) (*.f64 #s(literal 1/120 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))))))))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64))) (+.f64 #s(literal 1/120 binary64) (*.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1/120 binary64))))))))))
(*.f64 re (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64)) #s(literal 1/120 binary64))) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/12 binary64))))))))
(*.f64 re (+.f64 (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64))) (*.f64 (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64) #s(literal 1/120 binary64))))) #s(literal 1 binary64))))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(*.f64 (sin.f64 re) (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(+.f64 (sin.f64 re) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (sin.f64 re) (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 1/12 binary64) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64) #s(literal 1/4 binary64)) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/60 binary64))))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/60 binary64) #s(literal 1/12 binary64)) #s(literal 1/4 binary64)) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64) (fma.f64 #s(literal 1/60 binary64) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 #s(literal 1/378 binary64) (pow.f64 re #s(literal 2 binary64)))))))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (+.f64 #s(literal 1/4 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/12 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 #s(literal 1/60 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/378 binary64))))))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/378 binary64) #s(literal 1/60 binary64)) #s(literal 1/12 binary64)) #s(literal 1/4 binary64)) (pow.f64 re #s(literal 2 binary64)))
(/.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/12 binary64) (fma.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/378 binary64) #s(literal 1/60 binary64)) (pow.f64 re #s(literal 4 binary64)) #s(literal 1/4 binary64))) (pow.f64 re #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(/.f64 #s(literal 1/4 binary64) (pow.f64 (sin.f64 re) #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
re
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(*.f64 re (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/2 binary64) re))))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/24 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64))) (*.f64 re #s(literal 1/2 binary64)))))
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/24 binary64)) #s(literal 1/2 binary64))) re)
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 re (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/24 binary64) #s(literal 1/2 binary64))) re)
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/2 binary64) re) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal 1/720 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (*.f64 #s(literal 1/24 binary64) re))))))
(+.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/2 binary64) re (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 #s(literal 1/720 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64))) (*.f64 re #s(literal 1/24 binary64)))))))
(fma.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 re #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 re (+.f64 #s(literal 1/24 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64)))))) re)
(fma.f64 re (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 re (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)))))
(*.f64 re (+.f64 (fma.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/720 binary64) #s(literal 1/24 binary64)) (pow.f64 im #s(literal 4 binary64)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (*.f64 #s(literal -1 binary64) im)))))
(*.f64 (*.f64 re #s(literal 1/2 binary64)) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 re (*.f64 #s(literal 1/2 binary64) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
#s(literal -4 binary64)
#s(literal -2 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 0 binary64)
#s(literal 1/16 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 3/2 binary64)
#s(literal 2 binary64)
#s(literal 3 binary64)
#s(literal 4 binary64)
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

eval49.0ms (0.7%)

Results
Compiler

Compiled 980 to 756 computations (22.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

prune46.0ms (0.7%)

Pruning

18 alts after pruning (12 fresh and 6 done)

PrunedKeptTotal
New561268
Fresh000
Picked055
Done011
Total561874
Accuracy
100.0%
Counts
74 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.0%
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
21.3%
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
10.0%
(+.f64 (sin.f64 re) (sin.f64 re))
41.6%
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
72.4%
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
28.8%
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
46.9%
(sin.f64 re)
23.5%
re
4.8%
#s(literal 4 binary64)
5.4%
#s(literal 1 binary64)
5.3%
#s(literal 1/2 binary64)
5.1%
#s(literal 1/4 binary64)
4.9%
#s(literal 1/8 binary64)
3.7%
#s(literal -1/2 binary64)
3.7%
#s(literal -1 binary64)
3.3%
#s(literal -4 binary64)
Results
Compiler

Compiled 166 to 139 computations (16.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

localize133.0ms (1.9%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
88.7%
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
Results
Compiler

Compiled 35 to 25 computations (28.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 52.0ms
Operation ival-pow, time spent: 20.0ms, 38.0% of total-time
Operation ival-mult, time spent: 17.0ms, 33.0% of total-time
Operation ival-add, time spent: 11.0ms, 21.0% of total-time
Operation const, time spent: 4.0ms, 8.0% of total-time

series7.0ms (0.1%)

Counts
1 → 0
Calls
Call 1
Inputs
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) re)>
Outputs
Calls

6 calls:

TimeVariablePointExpression
3.0ms
re
@-inf
(* (pow im 2) re)
1.0ms
re
@inf
(* (pow im 2) re)
1.0ms
im
@inf
(* (pow im 2) re)
1.0ms
re
@0
(* (pow im 2) re)
1.0ms
im
@0
(* (pow im 2) re)
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

rewrite83.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
318×unpow-prod-down
309×log1p-expm1-u
309×expm1-log1p-u
294×add-exp-log
282×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01019
18819
293519
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
Outputs
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64))
(/.f64 (-.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64)))))
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)) #s(literal 1/3 binary64))
(pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(pow.f64 (E.f64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)))
(fabs.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(exp.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) #s(literal 2 binary64)))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

simplify111.0ms (1.6%)

Algorithm
egg-herbie
Rules
691×prod-exp
583×cancel-sign-sub-inv
442×associate--r+
386×distribute-lft-out
335×associate--r-
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
080749
1147731
2348711
31357711
43077711
57690711
Stop Event
node limit
Counts
23 → 33
Calls
Call 1
Inputs
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64))
(/.f64 (-.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64)))))
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)) #s(literal 1/3 binary64))
(pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(pow.f64 (E.f64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)))
(fabs.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(log.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(exp.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) #s(literal 2 binary64)))
Outputs
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64))) #s(literal 2 binary64)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64))))))
(+.f64 (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 2 binary64) re)))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 re) (pow.f64 im #s(literal 2 binary64))))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(/.f64 (-.f64 (pow.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64)) #s(literal 1 binary64)) (+.f64 (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) (+.f64 #s(literal 1 binary64) (*.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 1 binary64)))))
(/.f64 (+.f64 (pow.f64 (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)) (+.f64 #s(literal 1 binary64) (+.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64)))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal -1 binary64)) (fma.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (+.f64 #s(literal 2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))
(/.f64 (+.f64 (pow.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) #s(literal 3 binary64)) #s(literal -1 binary64)) (+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 2 binary64)))))
(/.f64 (expm1.f64 (*.f64 #s(literal 3 binary64) (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))) (+.f64 #s(literal 1 binary64) (*.f64 (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 1 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) re #s(literal 2 binary64)))))
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re) #s(literal 1 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)) #s(literal 3 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)) #s(literal 1/3 binary64))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)))
(pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 2 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(pow.f64 (E.f64) (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))) #s(literal 2 binary64))) (cbrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))))
(pow.f64 (exp.f64 (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))) (sqrt.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 4 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(fabs.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(log.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) re))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(exp.f64 (fma.f64 #s(literal 2 binary64) (log.f64 im) (log.f64 re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) re))) #s(literal 3 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64))) #s(literal 1/3 binary64)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 re)) #s(literal 6 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 re))) #s(literal 2 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

eval27.0ms (0.4%)

Results
Compiler

Compiled 580 to 416 computations (28.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

prune30.0ms (0.4%)

Pruning

18 alts after pruning (7 fresh and 11 done)

PrunedKeptTotal
New33033
Fresh077
Picked055
Done066
Total331851
Accuracy
100.0%
Counts
51 → 18
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.0%
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
21.3%
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
10.0%
(+.f64 (sin.f64 re) (sin.f64 re))
41.6%
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
72.4%
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
28.8%
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
46.9%
(sin.f64 re)
23.5%
re
4.8%
#s(literal 4 binary64)
5.4%
#s(literal 1 binary64)
5.3%
#s(literal 1/2 binary64)
5.1%
#s(literal 1/4 binary64)
4.9%
#s(literal 1/8 binary64)
3.7%
#s(literal -1/2 binary64)
3.7%
#s(literal -1 binary64)
3.3%
#s(literal -4 binary64)
Results
Compiler

Compiled 143 to 119 computations (16.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

localize351.0ms (5.1%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
94.3%
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
Results
Compiler

Compiled 30 to 20 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 264.0ms
Operation ival-pow, time spent: 237.0ms, 90.0% of total-time
Operation ival-sin, time spent: 13.0ms, 5.0% of total-time
Operation ival-mult, time spent: 11.0ms, 4.0% of total-time
Operation const, time spent: 3.0ms, 1.0% of total-time

series5.0ms (0.1%)

Counts
1 → 4
Calls
Call 1
Inputs
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))>
Outputs
#<alt (*.f64 (pow.f64 im #s(literal 2 binary64)) re)>
#<alt (*.f64 re (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 im #s(literal 2 binary64))))>
#<alt (*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64))))>
#<alt (*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64))))))) (pow.f64 im #s(literal 2 binary64))))>
Calls

6 calls:

TimeVariablePointExpression
1.0ms
re
@0
(* (pow im 2) (sin re))
1.0ms
im
@inf
(* (pow im 2) (sin re))
1.0ms
im
@0
(* (pow im 2) (sin re))
1.0ms
re
@-inf
(* (pow im 2) (sin re))
1.0ms
re
@inf
(* (pow im 2) (sin re))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

rewrite78.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
395×log1p-expm1-u
395×expm1-log1p-u
382×unpow-prod-down
375×add-exp-log
360×add-log-exp
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01223
110723
2115123
Stop Event
node limit
Counts
1 → 21
Calls
Call 1
Inputs
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
Outputs
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 1 binary64))
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)) #s(literal 1/3 binary64))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) #s(literal 2 binary64)))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

simplify126.0ms (1.8%)

Algorithm
egg-herbie
Rules
976×fma-define
629×fma-neg
584×div-sub
404×distribute-lft-in
364×distribute-rgt-in
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
092981
1195981
2492953
31470929
43137924
54272924
66447924
Stop Event
node limit
Counts
25 → 41
Calls
Call 1
Inputs
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(*.f64 re (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64))))))) (pow.f64 im #s(literal 2 binary64))))
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 1 binary64))
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1 binary64))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 3 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)) #s(literal 1/3 binary64))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(exp.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 3 binary64)))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) #s(literal 1/3 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) #s(literal 2 binary64)))
Outputs
(*.f64 (pow.f64 im #s(literal 2 binary64)) re)
(*.f64 re (+.f64 (*.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64)))))
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) #s(literal 1/120 binary64))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/6 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64)))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64)))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (fma.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64)) #s(literal 1 binary64)) (*.f64 #s(literal 1/120 binary64) (pow.f64 re #s(literal 4 binary64))))))
(*.f64 re (+.f64 (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64))) (*.f64 (pow.f64 re #s(literal 2 binary64)) (+.f64 (*.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64)))) (*.f64 #s(literal 1/120 binary64) (pow.f64 im #s(literal 2 binary64))))))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/6 binary64) (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 #s(literal -1/5040 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (pow.f64 re #s(literal 2 binary64))) (*.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/120 binary64))))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal -1/6 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) (fma.f64 (pow.f64 im #s(literal 2 binary64)) #s(literal 1/120 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64)))))) (pow.f64 im #s(literal 2 binary64))))
(*.f64 re (+.f64 (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64))) (*.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 #s(literal 1/120 binary64) (*.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal -1/5040 binary64)))) (pow.f64 re #s(literal 4 binary64)))))
(*.f64 re (fma.f64 (pow.f64 re #s(literal 2 binary64)) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 (fma.f64 (pow.f64 re #s(literal 2 binary64)) #s(literal 1/120 binary64) #s(literal -1/6 binary64)) (*.f64 #s(literal -1/5040 binary64) (pow.f64 re #s(literal 4 binary64))))) (pow.f64 im #s(literal 2 binary64))))
(+.f64 #s(literal 0 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64)))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(+.f64 (log.f64 (pow.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (sin.f64 re))) #s(literal 2 binary64))) (log.f64 (cbrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (sin.f64 re)))))
(+.f64 (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))))
(*.f64 #s(literal 2 binary64) (log.f64 (sqrt.f64 (pow.f64 (exp.f64 (pow.f64 im #s(literal 2 binary64))) (sin.f64 re)))))
(-.f64 (+.f64 #s(literal 1 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 1 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(pow.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)) #s(literal 1 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(pow.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))) #s(literal 3 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)) #s(literal 1/2 binary64))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)))
(pow.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)) #s(literal 1/3 binary64))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)))
(pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 2 binary64))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(pow.f64 (E.f64) (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(pow.f64 (exp.f64 (pow.f64 (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 2 binary64))) (cbrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(pow.f64 (exp.f64 (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))) (sqrt.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(sqrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 4 binary64)))
(log.f64 (pow.f64 (exp.f64 (sin.f64 re)) (pow.f64 im #s(literal 2 binary64))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)))
(expm1.f64 (log1p.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(log1p.f64 (expm1.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(exp.f64 (log.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (cbrt.f64 (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))) #s(literal 3 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
(exp.f64 (*.f64 (log.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64))) #s(literal 1/3 binary64)))
(cbrt.f64 (pow.f64 (*.f64 im (sqrt.f64 (sin.f64 re))) #s(literal 6 binary64)))
(exp.f64 (*.f64 (log.f64 (*.f64 im (sqrt.f64 (sin.f64 re)))) #s(literal 2 binary64)))
(*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re))
Results
Precisions
Click to see histograms. Total time spent on operations: 0ms

eval30.0ms (0.4%)

Results
Compiler

Compiled 698 to 508 computations (27.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

prune39.0ms (0.6%)

Pruning

21 alts after pruning (5 fresh and 16 done)

PrunedKeptTotal
New38341
Fresh022
Picked055
Done01111
Total382159
Accuracy
100.0%
Counts
59 → 21
Alt Table
Click to see full alt table
StatusAccuracyProgram
23.0%
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
21.3%
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
10.0%
(+.f64 (sin.f64 re) (sin.f64 re))
41.6%
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
72.4%
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
100.0%
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
62.2%
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
30.1%
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64))))))
28.8%
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
21.3%
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
30.2%
(*.f64 #s(literal 1/2 binary64) (*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64)))))
46.9%
(sin.f64 re)
23.5%
re
4.8%
#s(literal 4 binary64)
5.4%
#s(literal 1 binary64)
5.3%
#s(literal 1/2 binary64)
5.1%
#s(literal 1/4 binary64)
4.9%
#s(literal 1/8 binary64)
3.7%
#s(literal -1/2 binary64)
3.7%
#s(literal -1 binary64)
3.3%
#s(literal -4 binary64)
Results
Compiler

Compiled 276 to 207 computations (25% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes74.0ms (1.1%)

Counts
22 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64)))))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

15.0ms
re
13.0ms
(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
13.0ms
im
13.0ms
(sin.f64 re)
11.0ms
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
Results
AccuracySegmentsBranch
100.0%1re
100.0%1im
100.0%1(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im)))
100.0%1(*.f64 #s(literal 1/2 binary64) (sin.f64 re))
100.0%1(sin.f64 re)
100.0%1(+.f64 (exp.f64 (-.f64 #s(literal 0 binary64) im)) (exp.f64 im))
Results
Compiler

Compiled 39 to 30 computations (23.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes174.0ms (2.5%)

Counts
20 → 3
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (+.f64 re (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 3 binary64))))))
(*.f64 #s(literal 1/2 binary64) (*.f64 re (*.f64 (+.f64 (*.f64 #s(literal -1/6 binary64) (pow.f64 re #s(literal 2 binary64))) #s(literal 1 binary64)) (pow.f64 im #s(literal 2 binary64)))))
Outputs
(*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
Calls

3 calls:

141.0ms
(sin.f64 re)
17.0ms
im
13.0ms
re
Results
AccuracySegmentsBranch
88.5%2re
93.1%3im
91.2%5(sin.f64 re)
Results
Compiler

Compiled 10 to 7 computations (30% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes16.0ms (0.2%)

Counts
17 → 3
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(sin.f64 re)
(*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
Calls

1 calls:

15.0ms
im
Results
AccuracySegmentsBranch
92.8%3im
Results
Compiler

Compiled 3 to 2 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes52.0ms (0.8%)

Counts
16 → 3
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
Outputs
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))
Calls

3 calls:

23.0ms
(sin.f64 re)
14.0ms
im
14.0ms
re
Results
AccuracySegmentsBranch
64.7%4(sin.f64 re)
64.3%3re
81.3%3im
Results
Compiler

Compiled 10 to 7 computations (30% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes14.0ms (0.2%)

Counts
15 → 3
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 (sin.f64 re) (sin.f64 re))
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
Outputs
(sin.f64 re)
(pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
Calls

1 calls:

13.0ms
im
Results
AccuracySegmentsBranch
73.9%3im
Results
Compiler

Compiled 3 to 2 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes14.0ms (0.2%)

Counts
14 → 3
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
(+.f64 re (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re)))
(+.f64 (sin.f64 re) (sin.f64 re))
Outputs
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
(*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))
Calls

1 calls:

13.0ms
im
Results
AccuracySegmentsBranch
73.9%3im
Results
Compiler

Compiled 3 to 2 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes9.0ms (0.1%)

Counts
11 → 2
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
Outputs
(sin.f64 re)
(/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64)))
Calls

1 calls:

8.0ms
im
Results
AccuracySegmentsBranch
65.3%2im
Results
Compiler

Compiled 3 to 2 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes13.0ms (0.2%)

Counts
10 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
(sin.f64 re)
Outputs
(sin.f64 re)
Calls

3 calls:

4.0ms
re
4.0ms
im
4.0ms
(sin.f64 re)
Results
AccuracySegmentsBranch
46.9%1(sin.f64 re)
46.9%1re
46.9%1im
Results
Compiler

Compiled 10 to 7 computations (30% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes11.0ms (0.2%)

Counts
9 → 2
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
re
Outputs
re
#s(literal 1 binary64)
Calls

2 calls:

6.0ms
re
4.0ms
im
Results
AccuracySegmentsBranch
23.5%1im
25.4%2re
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes7.0ms (0.1%)

Counts
8 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
#s(literal 1 binary64)
#s(literal 4 binary64)
Outputs
#s(literal 1 binary64)
Calls

2 calls:

3.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
5.4%1im
5.4%1re
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes7.0ms (0.1%)

Counts
6 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
#s(literal 1/2 binary64)
Outputs
#s(literal 1/2 binary64)
Calls

2 calls:

4.0ms
re
3.0ms
im
Results
AccuracySegmentsBranch
5.3%1re
5.3%1im
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes5.0ms (0.1%)

Counts
5 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
#s(literal 1/4 binary64)
Outputs
#s(literal 1/4 binary64)
Calls

2 calls:

2.0ms
re
2.0ms
im
Results
AccuracySegmentsBranch
5.1%1im
5.1%1re
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes5.0ms (0.1%)

Counts
4 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
#s(literal 1/8 binary64)
Outputs
#s(literal 1/8 binary64)
Calls

2 calls:

2.0ms
im
2.0ms
re
Results
AccuracySegmentsBranch
4.9%1re
4.9%1im
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes5.0ms (0.1%)

Counts
3 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
#s(literal -1 binary64)
#s(literal -1/2 binary64)
Outputs
#s(literal -1 binary64)
Calls

2 calls:

3.0ms
re
2.0ms
im
Results
AccuracySegmentsBranch
3.7%1im
3.7%1re
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

regimes3.0ms (0%)

Accuracy

Total -0.0b remaining (-0%)

Threshold costs -0b (-0%)

Counts
1 → 1
Calls
Call 1
Inputs
#s(literal -4 binary64)
Outputs
#s(literal -4 binary64)
Calls

2 calls:

1.0ms
re
1.0ms
im
Results
AccuracySegmentsBranch
3.3%1im
3.3%1re
Results
Compiler

Compiled 6 to 4 computations (33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

bsearch51.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
22.0ms
6.100671827319044e+153
1.7428062218000198e+157
25.0ms
1.0054287042758832
885.1973247066564
Results
20.0ms128×256infinite
23.0ms128×256valid
Compiler

Compiled 419 to 335 computations (20% saved)

Precisions
Click to see histograms. Total time spent on operations: 20.0ms
Operation ival-sin, time spent: 7.0ms, 36.0% of total-time
Operation ival-exp, time spent: 5.0ms, 25.0% of total-time
Operation ival-mult, time spent: 4.0ms, 20.0% of total-time
Operation ival-sub, time spent: 1.0ms, 5.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

bsearch53.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
24.0ms
6.100671827319044e+153
1.7428062218000198e+157
23.0ms
1.0054287042758832
885.1973247066564
Results
22.0ms128×256infinite
22.0ms128×256valid
Compiler

Compiled 355 to 279 computations (21.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Operation ival-sin, time spent: 8.0ms, 39.0% of total-time
Operation ival-exp, time spent: 5.0ms, 24.0% of total-time
Operation ival-mult, time spent: 5.0ms, 24.0% of total-time
Operation ival-add, time spent: 2.0ms, 10.0% of total-time
Operation ival-sub, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

bsearch92.0ms (1.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
38.0ms
6.100671827319044e+153
1.7428062218000198e+157
48.0ms
885.1973247066564
1036773315.6461968
Results
74.0ms252×256infinite
5.0ms20×256valid
Compiler

Compiled 305 to 259 computations (15.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 38.0ms
Operation ival-sin, time spent: 13.0ms, 35.0% of total-time
Operation ival-exp, time spent: 9.0ms, 24.0% of total-time
Operation ival-mult, time spent: 8.0ms, 21.0% of total-time
Operation ival-sub, time spent: 3.0ms, 8.0% of total-time
Operation ival-add, time spent: 3.0ms, 8.0% of total-time
Operation const, time spent: 1.0ms, 3.0% of total-time

bsearch83.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
4.1813420414394305e+167
3.433664090668693e+168
48.0ms
885.1973247066564
1036773315.6461968
Results
65.0ms218×256infinite
6.0ms22×256valid
Compiler

Compiled 259 to 219 computations (15.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 36.0ms
Operation ival-sin, time spent: 13.0ms, 36.0% of total-time
Operation ival-exp, time spent: 10.0ms, 28.0% of total-time
Operation ival-mult, time spent: 7.0ms, 20.0% of total-time
Operation ival-sub, time spent: 2.0ms, 6.0% of total-time
Operation ival-add, time spent: 2.0ms, 6.0% of total-time
Operation const, time spent: 1.0ms, 3.0% of total-time

bsearch80.0ms (1.2%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
28.0ms
4.1813420414394305e+167
3.433664090668693e+168
47.0ms
885.1973247066564
1036773315.6461968
Results
65.0ms221×256infinite
5.0ms19×256valid
Compiler

Compiled 244 to 204 computations (16.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 35.0ms
Operation ival-sin, time spent: 13.0ms, 37.0% of total-time
Operation ival-exp, time spent: 9.0ms, 26.0% of total-time
Operation ival-mult, time spent: 7.0ms, 20.0% of total-time
Operation ival-add, time spent: 4.0ms, 11.0% of total-time
Operation ival-sub, time spent: 2.0ms, 6.0% of total-time
Operation const, time spent: 1.0ms, 3.0% of total-time

bsearch50.0ms (0.7%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
46.0ms
885.1973247066564
1036773315.6461968
Results
37.0ms119×256infinite
6.0ms25×256valid
Compiler

Compiled 136 to 114 computations (16.2% saved)

Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Operation ival-sin, time spent: 7.0ms, 33.0% of total-time
Operation ival-exp, time spent: 6.0ms, 28.0% of total-time
Operation ival-mult, time spent: 4.0ms, 19.0% of total-time
Operation ival-sub, time spent: 1.0ms, 5.0% of total-time
Operation ival-add, time spent: 1.0ms, 5.0% of total-time
Operation const, time spent: 1.0ms, 5.0% of total-time

bsearch33.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
31.0ms
3213490981696.2607
18858834646994.445
Results
15.0ms51×256valid
13.0ms45×256infinite
Compiler

Compiled 67 to 57 computations (14.9% saved)

Precisions
Click to see histograms. Total time spent on operations: 15.0ms
Operation ival-sin, time spent: 7.0ms, 48.0% of total-time
Operation ival-mult, time spent: 3.0ms, 21.0% of total-time
Operation ival-exp, time spent: 2.0ms, 14.0% of total-time
Operation ival-sub, time spent: 1.0ms, 7.0% of total-time
Operation ival-add, time spent: 1.0ms, 7.0% of total-time
Operation const, time spent: 0.0ms, 0.0% of total-time

simplify30.0ms (0.4%)

Algorithm
egg-herbie
Rules
12×*-commutative
1-exp
+-commutative
sub-neg
neg-sub0
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
064571
184571
286571
387571
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))
(if (<=.f64 im #s(literal 920 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))))
(sin.f64 re)
(if (<=.f64 re #s(literal 3300000000000 binary64)) re #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 1/4 binary64)
#s(literal 1/8 binary64)
#s(literal -1 binary64)
#s(literal -4 binary64)
Outputs
(*.f64 (*.f64 #s(literal 1/2 binary64) (sin.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (*.f64 (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64)) (sin.f64 re)) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (*.f64 (sin.f64 re) (+.f64 (*.f64 #s(literal 1/2 binary64) (pow.f64 im #s(literal 2 binary64))) #s(literal 1 binary64))) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))))
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (*.f64 #s(literal 1/2 binary64) re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(if (<=.f64 im #s(literal 2296835809958953/2251799813685248 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 #s(literal 1/2 binary64) re)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) (sin.f64 re)))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 13500000000000000275507010685175621526490118987092636456657125042259125821644957267949903389666459196246900088209596760608108317076954234449082739494748160 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (sin.f64 re) (pow.f64 im #s(literal 2 binary64))))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (pow.f64 (*.f64 (sin.f64 re) #s(literal -2 binary64)) #s(literal -2 binary64)) (*.f64 #s(literal 1/2 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64))))))
(if (<=.f64 im #s(literal 920 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 (pow.f64 im #s(literal 2 binary64)) re))))
(if (<=.f64 im #s(literal 920 binary64)) (sin.f64 re) (if (<=.f64 im #s(literal 419999999999999984791227764913234097046867526718719982328816442174603063229672385491944599884205588563541267463345342479131406991477494048571637708469475344129187643392 binary64)) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))) (*.f64 #s(literal 1/2 binary64) (*.f64 re (pow.f64 im #s(literal 2 binary64))))))
(if (<=.f64 im #s(literal 900 binary64)) (sin.f64 re) (/.f64 #s(literal 1/4 binary64) (pow.f64 re #s(literal 2 binary64))))
(sin.f64 re)
(if (<=.f64 re #s(literal 3300000000000 binary64)) re #s(literal 1 binary64))
#s(literal 1 binary64)
#s(literal 1/2 binary64)
#s(literal 1/4 binary64)
#s(literal 1/8 binary64)
#s(literal -1 binary64)
#s(literal -4 binary64)
Results
Compiler

Compiled 199 to 150 computations (24.6% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

soundness717.0ms (10.3%)

Rules
989×fma-neg
725×fma-define
510×fma-define
395×associate-*r*
328×associate-*r/
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01644
120244
2330644
01031556
13201402
211021402
341771402
036316
1111308
2397308
3986298
41988294
53213294
63708294
74185294
84839294
94992294
105009294
115009294
125041294
135070294
145070294
025124
1353124
25692124
Stop Event
unsound
saturated
node limit
unsound
Results
Compiler

Compiled 99 to 60 computations (39.4% saved)

Precisions
Click to see histograms. Total time spent on operations: 0ms

end1.0ms (0%)

preprocess224.0ms (3.2%)

Remove

(negabs re)

(abs im)

Compiler

Compiled 838 to 596 computations (28.9% saved)

Profiling

Loading profile data...