Details

Time bar (total: 7.3s)

analyze221.0ms (3%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
50%50%50%0.1%0%0%0%5
50%50%50%0.1%0%0%0%6
57.1%50%37.5%0.1%12.5%0%0%7
57.1%50%37.5%0.1%12.5%0%0%8
61.5%50%31.2%0.1%18.7%0%0%9
61.5%50%31.2%0.1%18.7%0%0%10
64%50%28.1%0.1%21.9%0%0%11
64%50%28.1%0.1%21.9%0%0%12
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample4.4s (60.1%)

Results
1.4s2047×body1024valid
1.2s2021×body1024infinite
845.0ms5158×body256valid
389.0ms1042×body512valid
289.0ms1442×body256infinite
242.0ms1008×body512infinite
7.0msbody2048valid
Bogosity

preprocess97.0ms (1.3%)

Algorithm
egg-herbie
Rules
1268×rational.json-simplify-46
896×rational.json-simplify-59
882×rational.json-simplify-35
868×rational.json-simplify-2
828×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02070
13970
26570
39570
415470
526670
661170
7150370
8253070
9382670
10588270
022
Stop Event
saturated
node limit
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 im)) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 im) (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
(*.f64 (cos.f64 im) (*.f64 1/2 (+.f64 (exp.f64 (neg.f64 re)) (exp.f64 re))))
Compiler

Compiled 15 to 12 computations (20% saved)

simplify526.0ms (7.2%)

Algorithm
egg-herbie
Rules
2312×rational.json-simplify-35
1800×rational.json-simplify-2
1792×rational.json-simplify-1
1510×rational.json-simplify-52
780×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
12535
24335
36335
49535
515135
631035
770035
8173835
9273635
10322035
11412935
12453235
13474435
14488235
15499835
16545935
17664535
18682335
19694935
20706335
21717735
22717735
23769435
24773935
25789035
Stop Event
node limit
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))

eval1.0ms (0%)

Compiler

Compiled 24 to 13 computations (45.8% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 13 to 10 computations (23.1% saved)

localize17.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Compiler

Compiled 35 to 13 computations (62.9% saved)

series4.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

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

rewrite65.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
1262×rational.json-simplify-35
1250×bool.json-1
1250×bool.json-2
1206×rational.json-1
1206×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01335
113235
235535
379135
4174635
5418535
Stop Event
node limit
Counts
1 → 10
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))))))

simplify1.1s (14.9%)

Algorithm
egg-herbie
Rules
2174×rational.json-simplify-2
1708×rational.json-simplify-35
1076×rational.json-simplify-38
894×rational.json-simplify-1
706×rational.json-simplify-19
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0831450
11911450
23361358
35871300
412471276
525861276
636881276
738551276
840241276
942481276
1048251276
1175801276
Stop Event
node limit
Counts
34 → 46
Calls
Call 1
Inputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(+.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 4)
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) 32)
Outputs
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) -1/4)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/48))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48)) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) -1/4))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/48 (pow.f64 re 4))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(+.f64 (*.f64 -1/1440 (*.f64 (pow.f64 re 6) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (*.f64 -1/4 (*.f64 (pow.f64 re 2) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))) (*.f64 1/48 (*.f64 (pow.f64 re 4) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))))
(+.f64 (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))) (+.f64 (+.f64 (*.f64 -1/4 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 2))) (*.f64 (pow.f64 re 4) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) 1/48))) (*.f64 -1/1440 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (pow.f64 re 6)))))
(+.f64 (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 2) -1/4)) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 4) 1/48))) (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 (pow.f64 re 6) -1/1440)) (*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/48 (pow.f64 re 4))) (+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 1/2 (*.f64 -1/4 (pow.f64 re 2)))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/1440 (pow.f64 re 6)))))
(+.f64 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 -1/4 (pow.f64 re 2))) (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (*.f64 -1/1440 (pow.f64 re 6)) (+.f64 1/2 (*.f64 1/48 (pow.f64 re 4))))))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (+.f64 (+.f64 1/2 (*.f64 -1/1440 (pow.f64 re 6))) (+.f64 (*.f64 1/48 (pow.f64 re 4)) (*.f64 -1/4 (pow.f64 re 2)))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(cos.f64 re)
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (cos.f64 re))
(+.f64 (cos.f64 re) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))) (*.f64 1/720 (*.f64 (cos.f64 re) (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 4) 1/24)) (*.f64 (cos.f64 re) (*.f64 (pow.f64 im 6) 1/720))) (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (+.f64 (*.f64 (cos.f64 re) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (cos.f64 re) (*.f64 1/720 (pow.f64 im 6))))))
(+.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (*.f64 1/24 (pow.f64 im 4))))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))) (*.f64 1/720 (pow.f64 im 6)))))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/720 (pow.f64 im 6)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (+.f64 (exp.f64 im) (exp.f64 (*.f64 -1 im)))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) (*.f64 (cos.f64 re) 1/4)))
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 0)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 1)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))) 2)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)) 4)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))) 8)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) 16)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2)))) (*.f64 2 (*.f64 2 (*.f64 (cos.f64 re) (*.f64 (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)) 2))))) 32)
(*.f64 1/2 (*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (cos.f64 re)))
(*.f64 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))) (*.f64 1/2 (cos.f64 re)))

eval13.0ms (0.2%)

Compiler

Compiled 999 to 502 computations (49.7% saved)

prune83.0ms (1.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New43346
Fresh000
Picked011
Done000
Total43447
Error
0b
Counts
47 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
0.4b
(cos.f64 re)
Compiler

Compiled 46 to 35 computations (23.9% saved)

localize3.0ms (0%)

Compiler

Compiled 5 to 3 computations (40% saved)

localize9.0ms (0.1%)

Compiler

Compiled 25 to 9 computations (64% saved)

localize26.0ms (0.4%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 1/2 (pow.f64 im 2))
0.1b
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
0.1b
(*.f64 1/24 (pow.f64 im 4))
Compiler

Compiled 68 to 49 computations (27.9% saved)

series5.0ms (0.1%)

Counts
3 → 24
Calls

12 calls:

TimeVariablePointExpression
1.0ms
im
@0
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
1.0ms
re
@inf
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
1.0ms
re
@0
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
1.0ms
im
@inf
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
0.0ms
im
@0
(*.f64 1/24 (pow.f64 im 4))

rewrite227.0ms (3.1%)

Algorithm
batch-egg-rewrite
Rules
1582×bool.json-1
1582×bool.json-2
1528×rational.json-1
1528×rational.json-2
1528×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01667
115567
236967
372567
4151067
5337067
6627767
Stop Event
node limit
Counts
3 → 30
Calls
Call 1
Inputs
(*.f64 1/24 (pow.f64 im 4))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))
(*.f64 1/2 (pow.f64 im 2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/24 (pow.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/24 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 4) 1/48) (*.f64 (pow.f64 im 4) 1/48))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/24 (pow.f64 im 4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/24 (pow.f64 im 4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) 1/12) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (pow.f64 im 4) 1/6) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/24 (pow.f64 im 4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/24 (pow.f64 im 4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/24 (pow.f64 im 4)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 4) (/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 1/2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 1/2 (pow.f64 im 2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 im 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 1/2 (pow.f64 im 2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (pow.f64 im 2)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (pow.f64 im 2)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (pow.f64 im 2))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (pow.f64 im 2)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 1/2 (pow.f64 im 2))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/2 (pow.f64 im 2)))))))

simplify407.0ms (5.6%)

Algorithm
egg-herbie
Rules
2632×rational.json-simplify-53
2016×rational.json-simplify-35
1634×rational.json-simplify-1
1572×rational.json-simplify-2
1212×rational.json-simplify-42
Iterations

Useful iterations: 11 (0.0ms)

IterNodesCost
0991884
12271884
24781848
310841776
427341776
537851776
640321776
742321776
844011776
945811776
1047791776
1163111774
1275001774
1377661774
1478091774
1578131774
1678171774
Stop Event
node limit
Counts
54 → 60
Calls
Call 1
Inputs
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 2)))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 2))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 6))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 2)))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) 0)
(+.f64 0 (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 (pow.f64 im 4) 1/48) (*.f64 (pow.f64 im 4) 1/48))
(-.f64 (*.f64 1/24 (pow.f64 im 4)) 0)
(/.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(/.f64 (*.f64 (pow.f64 im 4) 1/12) 2)
(/.f64 (*.f64 (pow.f64 im 4) 1/6) 4)
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6)))) 32)
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 0)
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(+.f64 (/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 4) (/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 4))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 0)
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 1)
(/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 2)
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))) 4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)))))) 32)
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(/.f64 (pow.f64 im 2) 2)
(/.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(/.f64 (*.f64 4 (pow.f64 im 2)) 8)
(/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 2))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (pow.f64 im 2)))) 32)
Outputs
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 2)))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (pow.f64 re 2) -1/2))))
(+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 re 2)))))
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 re 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/4 (neg.f64 (*.f64 (pow.f64 re 2) (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 2))))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (pow.f64 re 2) -1/2))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4)))))
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4)))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 re 2))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (*.f64 -1/2 (pow.f64 re 2))))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 1/24 (pow.f64 re 4))))))
(+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 (*.f64 -1/720 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 6))) (*.f64 -1/2 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 2)))))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (+.f64 (*.f64 1/24 (pow.f64 im 4)) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (pow.f64 re 2) -1/2)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (pow.f64 re 6) -1/720)))) (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4)))))
(+.f64 (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/2 (pow.f64 re 2))) (+.f64 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 -1/720 (pow.f64 re 6))) (*.f64 1/24 (pow.f64 im 4)))) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))) (*.f64 1/2 (pow.f64 im 2))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (pow.f64 re 4))) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (*.f64 -1/720 (pow.f64 re 6)) (*.f64 -1/2 (pow.f64 re 2)))))))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6)))))))
(+.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (+.f64 (*.f64 1/24 (pow.f64 re 4)) (+.f64 (*.f64 -1/2 (pow.f64 re 2)) (*.f64 -1/720 (pow.f64 re 6))))))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 (cos.f64 re) (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2)))
(*.f64 1/2 (*.f64 (pow.f64 im 2) (cos.f64 re)))
(*.f64 (pow.f64 im 2) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4)))
(*.f64 1/24 (*.f64 (pow.f64 im 4) (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (*.f64 (cos.f64 re) (pow.f64 im 2))) (*.f64 1/24 (*.f64 (cos.f64 re) (pow.f64 im 4))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/24 (pow.f64 im 4)) 0)
(*.f64 1/24 (pow.f64 im 4))
(+.f64 0 (*.f64 1/24 (pow.f64 im 4)))
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 (pow.f64 im 4) 1/48) (*.f64 (pow.f64 im 4) 1/48))
(*.f64 1/24 (pow.f64 im 4))
(-.f64 (*.f64 1/24 (pow.f64 im 4)) 0)
(*.f64 1/24 (pow.f64 im 4))
(/.f64 (*.f64 1/24 (pow.f64 im 4)) 1)
(*.f64 1/24 (pow.f64 im 4))
(/.f64 (*.f64 (pow.f64 im 4) 1/12) 2)
(*.f64 1/24 (pow.f64 im 4))
(/.f64 (*.f64 (pow.f64 im 4) 1/6) 4)
(*.f64 1/24 (pow.f64 im 4))
(/.f64 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6)) 8)
(*.f64 1/24 (pow.f64 im 4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6))) 16)
(*.f64 1/24 (pow.f64 im 4))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6))) (*.f64 2 (*.f64 2 (*.f64 (pow.f64 im 4) 1/6)))) 32)
(*.f64 1/24 (pow.f64 im 4))
(+.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 0)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 0 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 4) (/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 4))
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(-.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 0)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))) 1)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)) 2)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))) 4)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)))) 8)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))))) 16)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (cos.f64 re)))))) 32)
(*.f64 (+.f64 (*.f64 1/2 (pow.f64 im 2)) (*.f64 1/24 (pow.f64 im 4))) (cos.f64 re))
(*.f64 (+.f64 (pow.f64 im 2) (*.f64 (pow.f64 im 4) 1/12)) (*.f64 1/2 (cos.f64 re)))
(+.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(*.f64 1/2 (pow.f64 im 2))
(+.f64 0 (*.f64 1/2 (pow.f64 im 2)))
(*.f64 1/2 (pow.f64 im 2))
(+.f64 (*.f64 (pow.f64 im 2) 1/4) (*.f64 (pow.f64 im 2) 1/4))
(*.f64 1/2 (pow.f64 im 2))
(-.f64 (*.f64 1/2 (pow.f64 im 2)) 0)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (pow.f64 im 2) 2)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 1/2 (pow.f64 im 2)) 1)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (pow.f64 im 2)) 4)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 4 (pow.f64 im 2)) 8)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 4 (pow.f64 im 2))) 16)
(*.f64 1/2 (pow.f64 im 2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (pow.f64 im 2)))) 32)
(*.f64 1/2 (pow.f64 im 2))

eval56.0ms (0.8%)

Compiler

Compiled 1633 to 1210 computations (25.9% saved)

prune14.0ms (0.2%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New60060
Fresh000
Picked011
Done033
Total60464
Error
0b
Counts
64 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
0.0b
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
27.5b
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
0.4b
(cos.f64 re)
Compiler

Compiled 46 to 35 computations (23.9% saved)

regimes23.0ms (0.3%)

Counts
4 → 1
Calls
Call 1
Inputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(+.f64 (cos.f64 re) (*.f64 (cos.f64 re) (+.f64 (*.f64 1/24 (pow.f64 im 4)) (*.f64 1/2 (pow.f64 im 2)))))
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
Calls

6 calls:

5.0ms
im
4.0ms
re
3.0ms
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
3.0ms
(*.f64 1/2 (cos.f64 re))
3.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
0.0b1re
0.0b1im
0.0b1(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
0.0b1(*.f64 1/2 (cos.f64 re))
0.0b1(cos.f64 re)
0.0b1(+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im))
Compiler

Compiled 77 to 52 computations (32.5% saved)

regimes13.0ms (0.2%)

Accuracy

Total -27.4b remaining (-7591.8%)

Threshold costs -27.4b (-7591.8%)

Counts
2 → 1
Calls
Call 1
Inputs
(cos.f64 re)
(*.f64 1/2 (+.f64 (exp.f64 im) (exp.f64 (neg.f64 im))))
Outputs
(cos.f64 re)
Calls

3 calls:

7.0ms
re
3.0ms
im
3.0ms
(cos.f64 re)
Results
ErrorSegmentsBranch
0.4b1re
0.4b1im
0.4b1(cos.f64 re)
Compiler

Compiled 22 to 16 computations (27.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01340
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(cos.f64 re)
Outputs
(*.f64 (*.f64 1/2 (cos.f64 re)) (+.f64 (exp.f64 (neg.f64 im)) (exp.f64 im)))
(cos.f64 re)
Compiler

Compiled 17 to 13 computations (23.5% saved)

soundness0.0ms (0%)

end17.0ms (0.2%)

Compiler

Compiled 15 to 10 computations (33.3% saved)

Profiling

Loading profile data...