Details

Time bar (total: 10.5s)

analyze1.3s (12.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
25%74.9%0.1%6
25%74.9%0.1%7
25%74.9%0.1%8
25%74.9%0.1%9
25%64%11.1%10
31.2%54.6%14.2%11
39%44.1%16.9%12
39%41.5%19.5%13
42.9%37%20.1%14
Compiler

Compiled 23 to 16 computations (30.4% saved)

sample114.0ms (1.1%)

Algorithm
intervals
Results
26.0ms54×body1024valid
19.0ms34×body1024invalid
18.0ms161×body128valid
9.0ms30×body512valid
7.0ms25×body512invalid
5.0ms24×body256invalid
2.0ms24×body128invalid
2.0ms11×body256valid
Compiler

Compiled 48 to 34 computations (29.2% saved)

simplify14.0ms (0.1%)

Algorithm
egg-herbie
Rules
32×fma-def_binary64
23×*-commutative_binary64
20×associate-/l*_binary64
11×associate-/r/_binary64
associate-*r/_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01320
12718
25318
37618
410318
511718
613218
713418
813618
913618

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.4b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.4b
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.5b
(+.f64 (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a1 a1)) (*.f64 (/.f64 (cos.f64 th) (sqrt.f64 2)) (*.f64 a2 a2)))
Compiler

Compiled 108 to 70 computations (35.2% saved)

localize10.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 th)
0.2b
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.4b
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))

rewrite41.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
26×add-cube-cbrt_binary64
19×pow1_binary64
16×add-exp-log_binary64
16×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
Counts
3 → 118
Calls

3 calls:

15.0ms
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
12.0ms
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
9.0ms
(cos.f64 th)

series144.0ms (1.4%)

Counts
3 → 64
Calls

3 calls:

101.0ms
(*.f64 (cos.f64 th) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
42.0ms
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))
1.0ms
(cos.f64 th)

simplify90.0ms (0.9%)

Algorithm
egg-herbie
Rules
796×associate-/l*_binary64
306×fma-def_binary64
221×associate-/r/_binary64
211×distribute-rgt-in_binary64
200×distribute-lft-in_binary64
Counts
182 → 306
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01732872
13702677
215732629
352752629

prune171.0ms (1.6%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New29412306
Fresh101
Picked101
Done000
Total29612308
Error
0.0b
Counts
308 → 12
Alt Table
StatusErrorProgram
0.7b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 th)) (cbrt.f64 (cos.f64 th))) (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2))))
1.1b
(*.f64 (cos.f64 th) (/.f64 (*.f64 (cbrt.f64 (fma.f64 a1 a1 (*.f64 a2 a2))) (cbrt.f64 (fma.f64 a1 a1 (*.f64 a2 a2)))) (/.f64 (sqrt.f64 2) (cbrt.f64 (fma.f64 a1 a1 (*.f64 a2 a2))))))
1.1b
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))) (cos.f64 th)))
1.1b
(*.f64 (cos.f64 th) (/.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 a1 a1 (*.f64 a2 a2))) (cbrt.f64 (fma.f64 a1 a1 (*.f64 a2 a2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (fma.f64 a1 a1 (*.f64 a2 a2)))) (cbrt.f64 (sqrt.f64 2))))
0.5b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 th) (cos.f64 th)) (cos.f64 th))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
37.4b
(cbrt.f64 (pow.f64 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (sqrt.f64 2)) (cos.f64 th)) 3))
0.6b
(*.f64 (log.f64 (exp.f64 (cos.f64 th))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
0.4b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.4b
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
16.6b
(*.f64 (*.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))) (*.f64 (sqrt.f64 (cos.f64 th)) (sqrt.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))))
1.0b
(/.f64 (cos.f64 th) (/.f64 (sqrt.f64 2) (fma.f64 a2 a2 (*.f64 a1 a1))))
0.4b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2))))
Compiler

Compiled 3917 to 1912 computations (51.2% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 th)
0.2b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2))))
0.2b
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
0.3b
(/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2)))

rewrite53.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
30×add-exp-log_binary64
30×add-cube-cbrt_binary64
19×pow1_binary64
17×add-cbrt-cube_binary64
16×add-sqr-sqrt_binary64
Counts
3 → 136
Calls

3 calls:

14.0ms
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2))))
14.0ms
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
13.0ms
(/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2)))

series454.0ms (4.3%)

Counts
3 → 84
Calls

3 calls:

307.0ms
(/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
104.0ms
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2))))
42.0ms
(/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2)))

simplify121.0ms (1.2%)

Algorithm
egg-herbie
Rules
498×associate-/l/_binary64
284×fma-def_binary64
192×unswap-sqr_binary64
187×times-frac_binary64
158×cancel-sign-sub-inv_binary64
Counts
220 → 390
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01984652
14433801
220693528
350123528

prune253.0ms (2.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New4246430
Fresh7411
Picked101
Done000
Total43210442
Error
0.0b
Counts
442 → 10
Alt Table
StatusErrorProgram
0.4b
(/.f64 (*.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (cos.f64 th)) (sqrt.f64 2))
1.2b
(pow.f64 (cbrt.f64 (*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cbrt.f64 (sqrt.f64 2))))) 3)
0.4b
(/.f64 (*.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (cos.f64 th)) (cbrt.f64 (sqrt.f64 2)))
1.1b
(/.f64 (cos.f64 th) (/.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))))
0.4b
(*.f64 (cos.f64 th) (/.f64 (*.f64 (cbrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))
37.4b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (cbrt.f64 (/.f64 (pow.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) 3) 2)) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2))))))
1.1b
(/.f64 1 (/.f64 (/.f64 (sqrt.f64 2) (fma.f64 a1 a1 (*.f64 a2 a2))) (cos.f64 th)))
0.4b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.5b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))
0.5b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (cos.f64 th) (cos.f64 th)) (cos.f64 th))) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (sqrt.f64 2)))
Compiler

Compiled 6972 to 4378 computations (37.2% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 th)
0.2b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.2b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2)))
0.3b
(/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))

rewrite54.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
31×add-cube-cbrt_binary64
28×add-exp-log_binary64
19×pow1_binary64
17×add-cbrt-cube_binary64
16×add-sqr-sqrt_binary64
Counts
3 → 138
Calls

3 calls:

14.0ms
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
13.0ms
(/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
13.0ms
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2)))

series396.0ms (3.8%)

Counts
3 → 84
Calls

3 calls:

247.0ms
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2)))
100.0ms
(*.f64 (cos.f64 th) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
47.0ms
(/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))

simplify115.0ms (1.1%)

Algorithm
egg-herbie
Rules
492×associate-/l/_binary64
290×fma-def_binary64
192×unswap-sqr_binary64
191×times-frac_binary64
178×cancel-sign-sub-inv_binary64
Counts
222 → 395
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01984286
14403747
220863653
350443653

prune263.0ms (2.5%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New4696475
Fresh639
Picked101
Done000
Total4769485
Error
0b
Counts
485 → 9
Alt Table
StatusErrorProgram
0.5b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (log1p.f64 (expm1.f64 (cos.f64 th))) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (cos.f64 th) (/.f64 (*.f64 (cbrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))
0.5b
(*.f64 (/.f64 (cos.f64 th) (cbrt.f64 (sqrt.f64 2))) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (sqrt.f64 2))))
1.0b
(/.f64 (cos.f64 th) (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2)))))
0.7b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 th)) (cbrt.f64 (cos.f64 th))) (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))))
0.5b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))
1.1b
(/.f64 (cos.f64 th) (/.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))))
0.4b
(/.f64 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
Compiler

Compiled 7061 to 4428 computations (37.3% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a2 a2 (*.f64 a1 a1))
0.1b
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th))
0.2b
(/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2)))
0.3b
(/.f64 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))

rewrite59.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
22×add-exp-log_binary64
19×pow1_binary64
16×add-sqr-sqrt_binary64
15×add-cbrt-cube_binary64
15×add-cube-cbrt_binary64
Counts
3 → 121
Calls

3 calls:

29.0ms
(/.f64 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
13.0ms
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th))
9.0ms
(fma.f64 a2 a2 (*.f64 a1 a1))

series665.0ms (6.3%)

Counts
3 → 96
Calls

3 calls:

545.0ms
(*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th))
100.0ms
(/.f64 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
19.0ms
(fma.f64 a2 a2 (*.f64 a1 a1))

simplify122.0ms (1.2%)

Algorithm
egg-herbie
Rules
945×fma-def_binary64
451×cancel-sign-sub-inv_binary64
356×unswap-sqr_binary64
186×fma-neg_binary64
172×associate-*r*_binary64
Counts
217 → 385
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02214873
16004041
223613895
349683895

prune302.0ms (2.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New5070507
Fresh088
Picked011
Done000
Total5079516
Error
0b
Counts
516 → 9
Alt Table
StatusErrorProgram
0.5b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (log1p.f64 (expm1.f64 (cos.f64 th))) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))))
0.4b
(*.f64 (cos.f64 th) (/.f64 (*.f64 (cbrt.f64 1/2) (fma.f64 a2 a2 (*.f64 a1 a1))) (cbrt.f64 (sqrt.f64 2))))
0.5b
(*.f64 (/.f64 (cos.f64 th) (cbrt.f64 (sqrt.f64 2))) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (sqrt.f64 2))))
1.0b
(/.f64 (cos.f64 th) (/.f64 (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))) (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2)))))
0.7b
(*.f64 (*.f64 (cbrt.f64 (cos.f64 th)) (cbrt.f64 (cos.f64 th))) (*.f64 (cbrt.f64 (cos.f64 th)) (/.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))))
0.5b
(*.f64 (cos.f64 th) (/.f64 (/.f64 (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2)))) (*.f64 (cbrt.f64 (cbrt.f64 (sqrt.f64 2))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2))))) (cbrt.f64 (cbrt.f64 (sqrt.f64 2)))))
1.1b
(/.f64 (cos.f64 th) (/.f64 (cbrt.f64 (sqrt.f64 2)) (/.f64 (fma.f64 a1 a1 (*.f64 a2 a2)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))))
0.4b
(/.f64 (*.f64 (/.f64 (fma.f64 a2 a2 (*.f64 a1 a1)) (cbrt.f64 (sqrt.f64 2))) (cos.f64 th)) (*.f64 (cbrt.f64 (sqrt.f64 2)) (cbrt.f64 (sqrt.f64 2))))
Compiler

Compiled 7655 to 4808 computations (37.2% saved)

regimes2.2s (20.5%)

Accuracy

Total 0.4b remaining (83.2%)

Threshold costs 0.4b (83.2%)

Compiler

Compiled 42962 to 31954 computations (25.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01434
11534
21534

end8.0ms (0.1%)

Remove

(sort a1 a2)

Compiler

Compiled 72 to 57 computations (20.8% saved)

sample3.6s (34%)

Algorithm
intervals
Results
888.0ms1824×body1024valid
774.0ms1596×body1024invalid
500.0ms4882×body128valid
265.0ms888×body512valid
239.0ms766×body512invalid
84.0ms403×body256valid
82.0ms387×body256invalid
71.0ms677×body128invalid
2.0msbody2048valid
1.0msbody2048invalid
Compiler

Compiled 294 to 231 computations (21.4% saved)

Profiling

Loading profile data...