Sample trimmed logistic on [-pi, pi]

Time bar (total: 23.1s)

analyze135.0ms (0.6%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%1.6%98.4%0%0%0%0
0%0%1.6%98.4%0%0%0%1
0%0%1.6%98.4%0%0%0%2
25%0.4%1.2%98.4%0%0%0%3
37.5%0.6%1%98.4%0%0%0%4
56.3%0.9%0.7%98.4%0%0%0%5
65.6%1%0.5%98.4%0%0%0%6
76.6%1.2%0.4%98.4%0%0%0%7
82%1.3%0.3%98.4%0%0%0%8
87.9%1.4%0.2%98.4%0%0%0%9
90.8%1.4%0.1%98.4%0%0%0%10
93.8%1.5%0.1%98.4%0%0%0%11
95.4%1.5%0.1%98.4%0%0%0%12
Compiler

Compiled 54 to 41 computations (24.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 66.0ms
Operation ival-div, time spent: 16.0ms, 24.0% of total-time
Operation ival-mult, time spent: 8.0ms, 12.0% of total-time
Operation ival-log, time spent: 8.0ms, 12.0% of total-time
Operation ival-add, time spent: 8.0ms, 12.0% of total-time
Operation ival-<=, time spent: 6.0ms, 9.0% of total-time
Operation ival-exp, time spent: 5.0ms, 8.0% of total-time
Operation ival-sub, time spent: 4.0ms, 6.0% of total-time
Operation ival-neg, time spent: 4.0ms, 6.0% of total-time
Operation const, time spent: 2.0ms, 3.0% of total-time
Operation ival-pi, time spent: 2.0ms, 3.0% of total-time
Operation ival-and, time spent: 1.0ms, 2.0% of total-time

sample4.0s (17.3%)

Results
3.6s8255×0valid
0.0ms0valid
Precisions
Click to see histograms. Total time spent on operations: 2.4s
Operation ival-add, time spent: 629.0ms, 26.0% of total-time
Operation ival-div, time spent: 442.0ms, 19.0% of total-time
Operation ival-sub, time spent: 276.0ms, 12.0% of total-time
Operation ival-exp, time spent: 248.0ms, 10.0% of total-time
Operation ival-log, time spent: 192.0ms, 8.0% of total-time
Operation ival-mult, time spent: 158.0ms, 7.0% of total-time
Operation ival-<=, time spent: 157.0ms, 7.0% of total-time
Operation ival-neg, time spent: 99.0ms, 4.0% of total-time
Operation const, time spent: 96.0ms, 4.0% of total-time
Operation ival-pi, time spent: 46.0ms, 2.0% of total-time
Operation ival-and, time spent: 43.0ms, 2.0% of total-time
Bogosity

preprocess7.9s (34.1%)

Algorithm
egg-herbie
Rules
633×fma-neg
598×fma-define
368×associate-/r*
235×associate-/l/
231×div-sub
FPErrors
Click to see full error table
Ground TruthOverpredictionsExampleUnderpredictionsExampleSubexpression
2560-256(1.53677902403615e-7 5.9860550437303514e-18)(PI.f32)
00-0-(+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))
00-0-(*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))
00-0-(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))
00-0-(-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)
00-0-(neg.f32 s)
00-0-(/.f32 (PI.f32) s)
00-0-(+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))
00-0-(exp.f32 (/.f32 (PI.f32) s))
00-0-(/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s))))
00-0-u
00-0-(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
00-0-(neg.f32 (PI.f32))
00-0-(/.f32 (neg.f32 (PI.f32)) s)
00-0-(log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1))
00-0-(+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))
00-0-(exp.f32 (/.f32 (neg.f32 (PI.f32)) s))
00-0-s
00-0-(/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))
00-0-(-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))
00-0-1
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
067948
1139932
2299924
3854796
41819744
53463734
65665734
Stop Event
node limit
Calls
Call 1
Inputs
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1)))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1))))
(neg.f32 (*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1))))
(*.f32 (neg.f32 u) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) 1)))
Outputs
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (neg.f32 u) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 u 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (+.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (+.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (-.f32 (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1)))
(neg.f32 (*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1))))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 (neg.f32 u) (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))) (neg.f32 u) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (*.f32 (+.f32 u 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s))))))) -1)))
(*.f32 s (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (+.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(neg.f32 (*.f32 (neg.f32 (neg.f32 s)) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) 1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) (neg.f32 s))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (fma.f32 u (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (*.f32 (+.f32 (neg.f32 u) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s)))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (fma.f32 u -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (-.f32 (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 u (-.f32 -1 (exp.f32 (/.f32 (PI.f32) s)))))) -1))))
(*.f32 s (neg.f32 (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))))) -1))))
(*.f32 (neg.f32 u) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) 1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (fma.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) u)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (fma.f32 s (+.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))) (/.f32 -1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (fma.f32 s (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 s (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))) (*.f32 (+.f32 (neg.f32 s) 1) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) u))))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 s (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))) (/.f32 (fma.f32 s -1 1) (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 -1 (-.f32 (/.f32 (-.f32 1 s) (-.f32 -1 (exp.f32 (/.f32 (PI.f32) u)))) (/.f32 s (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))))) -1)))
(*.f32 (neg.f32 u) (log.f32 (+.f32 (/.f32 1 (-.f32 (/.f32 (-.f32 1 s) (+.f32 1 (exp.f32 (/.f32 (PI.f32) u)))) (/.f32 s (-.f32 -1 (exp.f32 (/.f32 (PI.f32) (neg.f32 u))))))) -1)))
Compiler

Compiled 557 to 298 computations (46.5% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.3s
Operation ival-add, time spent: 2.4s, 45.0% of total-time
Operation ival-div, time spent: 1.1s, 20.0% of total-time
Operation ival-sub, time spent: 708.0ms, 13.0% of total-time
Operation ival-exp, time spent: 468.0ms, 9.0% of total-time
Operation ival-mult, time spent: 232.0ms, 4.0% of total-time
Operation const, time spent: 180.0ms, 3.0% of total-time
Operation ival-log, time spent: 156.0ms, 3.0% of total-time
Operation ival-neg, time spent: 45.0ms, 1.0% of total-time
Operation ival-pi, time spent: 26.0ms, 0.0% of total-time

eval3.0ms (0%)

Compiler

Compiled 190 to 113 computations (40.5% saved)

prune2.0ms (0%)

Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Compiler

Compiled 30 to 23 computations (23.3% saved)

localize2.4s (10.5%)

Localize:

Found 1 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
Compiler

Compiled 180 to 87 computations (51.7% saved)

Precisions
Click to see histograms. Total time spent on operations: 1.6s
Operation ival-add, time spent: 715.0ms, 45.0% of total-time
Operation ival-div, time spent: 305.0ms, 19.0% of total-time
Operation ival-sub, time spent: 203.0ms, 13.0% of total-time
Operation ival-exp, time spent: 185.0ms, 12.0% of total-time
Operation ival-log, time spent: 72.0ms, 5.0% of total-time
Operation const, time spent: 54.0ms, 3.0% of total-time
Operation ival-mult, time spent: 17.0ms, 1.0% of total-time
Operation ival-neg, time spent: 12.0ms, 1.0% of total-time
Operation ival-pi, time spent: 11.0ms, 1.0% of total-time

series0.0ms (0%)

Counts
1 → 0

rewrite199.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
737×log1p-expm1-u
737×expm1-log1p-u
647×prod-diff
460×log-prod
276×fma-define
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1243
22353
324223
Stop Event
node limit
Counts
1 → 63
Calls
Call 1
Inputs
(PI.f32)
Outputs
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)

simplify76.0ms (0.3%)

Algorithm
egg-herbie
Rules
835×log-prod
512×associate-+l+
489×associate-+r+
257×unswap-sqr
231×*-commutative
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0160801
1368761
21436745
37030745
Stop Event
node limit
Counts
63 → 83
Calls
Call 1
Inputs
(+.f32 (PI.f32) 0)
(+.f32 (+.f32 (PI.f32) 1) -1)
(+.f32 0 (PI.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(-.f32 (+.f32 (PI.f32) 1) 1)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(*.f32 1 (PI.f32))
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(*.f32 2 (*.f32 1/2 (PI.f32)))
(*.f32 1/3 (*.f32 3 (PI.f32)))
(*.f32 3 (*.f32 1/3 (PI.f32)))
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(*.f32 (log.f32 (E.f32)) (PI.f32))
(*.f32 (pow.f32 1 1/3) (PI.f32))
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(pow.f32 (PI.f32) 1)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(fabs.f32 (PI.f32))
(log.f32 (exp.f32 (PI.f32)))
(cbrt.f32 (pow.f32 (PI.f32) 3))
(expm1.f32 (log1p.f32 (PI.f32)))
(log1p.f32 (expm1.f32 (PI.f32)))
(exp.f32 (log.f32 (PI.f32)))
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
Outputs
(+.f32 (PI.f32) 0)
(PI.f32)
(+.f32 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(+.f32 0 (PI.f32))
(PI.f32)
(+.f32 (*.f32 2 (*.f32 1/3 (PI.f32))) (*.f32 1/3 (PI.f32)))
(PI.f32)
(+.f32 (*.f32 1/3 (PI.f32)) (*.f32 2 (*.f32 1/3 (PI.f32))))
(PI.f32)
(+.f32 (*.f32 1/2 (PI.f32)) (*.f32 1/2 (PI.f32)))
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) 1)
(PI.f32)
(-.f32 (+.f32 (PI.f32) 1) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32))))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (PI.f32)) 3)) (log1p.f32 (-.f32 (pow.f32 (expm1.f32 (PI.f32)) 2) (expm1.f32 (PI.f32)))))
(-.f32 (log.f32 (pow.f32 (E.f32) (+.f32 (PI.f32) 1))) (log.f32 (E.f32)))
(PI.f32)
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (PI.f32)))))
(-.f32 (log1p.f32 (neg.f32 (pow.f32 (expm1.f32 (PI.f32)) 2))) (log1p.f32 (neg.f32 (expm1.f32 (PI.f32)))))
(*.f32 (PI.f32) 1)
(PI.f32)
(*.f32 (PI.f32) (log.f32 (E.f32)))
(PI.f32)
(*.f32 1 (PI.f32))
(PI.f32)
(*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (PI.f32)) 2))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (cbrt.f32 (PI.f32)))
(PI.f32)
(*.f32 (sqrt.f32 (PI.f32)) (sqrt.f32 (PI.f32)))
(PI.f32)
(*.f32 2 (*.f32 1/2 (PI.f32)))
(PI.f32)
(*.f32 1/3 (*.f32 3 (PI.f32)))
(PI.f32)
(*.f32 3 (*.f32 1/3 (PI.f32)))
(PI.f32)
(*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))))
(PI.f32)
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 2)))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2)) (pow.f32 (PI.f32) 1/6))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/6) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (cbrt.f32 (PI.f32)))))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (pow.f32 (PI.f32) 1/4) (log.f32 (pow.f32 (exp.f32 (sqrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/4))))
(PI.f32)
(*.f32 (log.f32 (E.f32)) (PI.f32))
(PI.f32)
(*.f32 (pow.f32 1 1/3) (PI.f32))
(PI.f32)
(*.f32 (pow.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2) 1/3) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (pow.f32 (pow.f32 (PI.f32) 5/2) 1/3) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (cbrt.f32 (PI.f32))) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (*.f32 (cbrt.f32 (PI.f32)) (log.f32 (exp.f32 (sqrt.f32 (PI.f32))))))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/6)))
(*.f32 (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4) 2)))
(*.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 8)))
(*.f32 (cbrt.f32 (pow.f32 (PI.f32) 5/2)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (cbrt.f32 (pow.f32 (PI.f32) 5/2)))
(*.f32 (*.f32 (sqrt.f32 (PI.f32)) (pow.f32 (PI.f32) 1/4)) (pow.f32 (PI.f32) 1/4))
(PI.f32)
(*.f32 (sqrt.f32 (pow.f32 (PI.f32) 3/2)) (pow.f32 (PI.f32) 1/4))
(*.f32 (pow.f32 (PI.f32) 1/4) (sqrt.f32 (pow.f32 (PI.f32) 3/2)))
(*.f32 (pow.f32 (PI.f32) 1/4) (fabs.f32 (pow.f32 (PI.f32) 3/4)))
(*.f32 (pow.f32 (PI.f32) 1/4) (pow.f32 (PI.f32) 3/4))
(*.f32 (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)) (pow.f32 (PI.f32) 1/6))
(*.f32 (pow.f32 (PI.f32) 1/6) (sqrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 5)))
(*.f32 (pow.f32 (PI.f32) 1/6) (pow.f32 (cbrt.f32 (PI.f32)) 5/2))
(*.f32 (*.f32 (cbrt.f32 (PI.f32)) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2))
(*.f32 (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4)) (*.f32 (cbrt.f32 (PI.f32)) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)))
(*.f32 (cbrt.f32 (PI.f32)) (*.f32 (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2) (cbrt.f32 (pow.f32 (cbrt.f32 (PI.f32)) 4))))
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (cbrt.f32 (cbrt.f32 (PI.f32))) 2)) (cbrt.f32 (cbrt.f32 (PI.f32))))
(PI.f32)
(*.f32 (*.f32 (pow.f32 (cbrt.f32 (PI.f32)) 2) (pow.f32 (PI.f32) 1/6)) (pow.f32 (PI.f32) 1/6))
(PI.f32)
(/.f32 (-.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) 1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 1 (+.f32 (PI.f32) 1))))
(/.f32 (+.f32 (pow.f32 (+.f32 (PI.f32) 1) 3) -1) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (PI.f32) 1) 3)) (+.f32 1 (*.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 2))))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (+.f32 (PI.f32) 1) 1))
(/.f32 (fma.f32 (+.f32 (PI.f32) 1) (+.f32 (PI.f32) 1) -1) (+.f32 (PI.f32) 2))
(/.f32 (*.f32 (+.f32 (PI.f32) 2) (PI.f32)) (+.f32 (PI.f32) 2))
(*.f32 (+.f32 (PI.f32) 2) (/.f32 (PI.f32) (+.f32 (PI.f32) 2)))
(pow.f32 (PI.f32) 1)
(PI.f32)
(pow.f32 (cbrt.f32 (PI.f32)) 3)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 2) 1/2)
(PI.f32)
(pow.f32 (pow.f32 (PI.f32) 3) 1/3)
(PI.f32)
(pow.f32 (sqrt.f32 (PI.f32)) 2)
(PI.f32)
(pow.f32 (E.f32) (log.f32 (PI.f32)))
(PI.f32)
(pow.f32 (exp.f32 (pow.f32 (cbrt.f32 (log.f32 (PI.f32))) 2)) (cbrt.f32 (log.f32 (PI.f32))))
(pow.f32 (exp.f32 (sqrt.f32 (log.f32 (PI.f32)))) (sqrt.f32 (log.f32 (PI.f32))))
(sqrt.f32 (pow.f32 (PI.f32) 2))
(PI.f32)
(fabs.f32 (PI.f32))
(PI.f32)
(log.f32 (exp.f32 (PI.f32)))
(PI.f32)
(cbrt.f32 (pow.f32 (PI.f32) 3))
(PI.f32)
(expm1.f32 (log1p.f32 (PI.f32)))
(PI.f32)
(log1p.f32 (expm1.f32 (PI.f32)))
(PI.f32)
(exp.f32 (log.f32 (PI.f32)))
(PI.f32)
(fma.f32 1 (+.f32 (PI.f32) 1) -1)
(PI.f32)
(fma.f32 (+.f32 (PI.f32) 1) 1 -1)
(PI.f32)
(fma.f32 (*.f32 (cbrt.f32 (+.f32 (PI.f32) 1)) (cbrt.f32 (+.f32 (PI.f32) 1))) (cbrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)
(fma.f32 (sqrt.f32 (+.f32 (PI.f32) 1)) (sqrt.f32 (+.f32 (PI.f32) 1)) -1)
(PI.f32)

eval97.0ms (0.4%)

Compiler

Compiled 5920 to 3714 computations (37.3% saved)

prune33.0ms (0.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1642166
Fresh000
Picked011
Done000
Total1643167
Accuracy
99.1%
Counts
167 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (-.f32 (+.f32 (PI.f32) 1) 1) s)))))) -1)))
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (*.f32 (log.f32 (E.f32)) (PI.f32)) s)))))) -1)))
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Compiler

Compiled 97 to 76 computations (21.6% saved)

localize7.1s (30.9%)

Localize:

Found 3 expressions with local error:

NewAccuracyProgram
6.3%
(PI.f32)
6.3%
(PI.f32)
6.3%
(E.f32)
Compiler

Compiled 435 to 227 computations (47.8% saved)

Precisions
Click to see histograms. Total time spent on operations: 5.0s
Operation ival-add, time spent: 2.1s, 41.0% of total-time
Operation ival-sub, time spent: 759.0ms, 15.0% of total-time
Operation ival-div, time spent: 729.0ms, 15.0% of total-time
Operation ival-exp, time spent: 564.0ms, 11.0% of total-time
Operation ival-log, time spent: 419.0ms, 8.0% of total-time
Operation ival-e, time spent: 263.0ms, 5.0% of total-time
Operation const, time spent: 139.0ms, 3.0% of total-time
Operation ival-mult, time spent: 57.0ms, 1.0% of total-time
Operation ival-neg, time spent: 12.0ms, 0.0% of total-time
Operation ival-pi, time spent: 10.0ms, 0.0% of total-time

series0.0ms (0%)

Counts
1 → 0

rewrite82.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
602×log1p-expm1-u
602×expm1-log1p-u
438×prod-diff
414×pow-unpow
356×pow-prod-down
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
033
1253
22243
321073
Stop Event
node limit
Counts
1 → 58
Calls
Call 1
Inputs
(E.f32)
Outputs
(+.f32 (E.f32) 0)
(+.f32 (E.f32) (log.f32 (pow.f32 1 (E.f32))))
(+.f32 (+.f32 (E.f32) 1) -1)
(+.f32 0 (E.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (E.f32))) (*.f32 1/3 (E.f32)))
(+.f32 (*.f32 1/3 (E.f32)) (*.f32 2 (*.f32 1/3 (E.f32))))
(+.f32 (*.f32 1/3 (E.f32)) (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))))
(+.f32 (*.f32 1/2 (E.f32)) (*.f32 1/2 (E.f32)))
(+.f32 (log.f32 (pow.f32 1 (E.f32))) (E.f32))
(+.f32 (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))) (*.f32 1/3 (E.f32)))
(-.f32 (+.f32 (E.f32) 1) 1)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32))))))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (E.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (E.f32)))))
(*.f32 (E.f32) 1)
(*.f32 1 (E.f32))
(*.f32 (exp.f32 1/3) (exp.f32 2/3))
(*.f32 (exp.f32 2/3) (exp.f32 1/3))
(*.f32 (exp.f32 1/2) (exp.f32 1/2))
(*.f32 1/3 (*.f32 3 (E.f32)))
(*.f32 2 (*.f32 1/2 (E.f32)))
(*.f32 3 (*.f32 1/3 (E.f32)))
(*.f32 (exp.f32 2/9) (*.f32 (exp.f32 1/9) (exp.f32 2/3)))
(*.f32 (exp.f32 1/9) (log.f32 (exp.f32 (exp.f32 8/9))))
(*.f32 (exp.f32 4/9) (cbrt.f32 (exp.f32 5/3)))
(*.f32 (exp.f32 1/6) (exp.f32 5/6))
(*.f32 (exp.f32 1/6) (log.f32 (exp.f32 (exp.f32 5/6))))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (exp.f32 1/4) (log.f32 (exp.f32 (sqrt.f32 (exp.f32 3/2)))))
(*.f32 (*.f32 1/3 (E.f32)) 3)
(*.f32 (exp.f32 5/6) (exp.f32 1/6))
(*.f32 (*.f32 (E.f32) 2) 1/2)
(*.f32 (*.f32 3 (E.f32)) 1/3)
(*.f32 (exp.f32 8/9) (exp.f32 1/9))
(*.f32 (sqrt.f32 (exp.f32 3/2)) (exp.f32 1/4))
(*.f32 (/.f32 (E.f32) 2) 2)
(*.f32 (*.f32 (exp.f32 1/3) (exp.f32 4/9)) (exp.f32 2/9))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 3) 1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 1 (+.f32 (E.f32) 1))))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 2) 1) (+.f32 (+.f32 (E.f32) 1) 1))
(pow.f32 (E.f32) 1)
(pow.f32 (exp.f32 1/3) 3)
(pow.f32 (exp.f32 2/3) 3/2)
(pow.f32 (exp.f32 2) 1/2)
(pow.f32 (exp.f32 3) 1/3)
(pow.f32 (exp.f32 1/2) 2)
(pow.f32 (exp.f32 6) 1/6)
(pow.f32 (exp.f32 3/2) 2/3)
(pow.f32 (exp.f32 4) 1/4)
(sqrt.f32 (exp.f32 2))
(fabs.f32 (E.f32))
(log.f32 (exp.f32 (E.f32)))
(cbrt.f32 (exp.f32 3))
(expm1.f32 (log1p.f32 (E.f32)))
(log1p.f32 (expm1.f32 (E.f32)))
(exp.f32 1)
(fma.f32 1 (+.f32 (E.f32) 1) -1)
(fma.f32 (+.f32 (E.f32) 1) 1 -1)
(fma.f32 (pow.f32 (cbrt.f32 (+.f32 (E.f32) 1)) 2) (cbrt.f32 (+.f32 (E.f32) 1)) -1)
(fma.f32 (hypot.f32 1 (exp.f32 1/2)) (hypot.f32 1 (exp.f32 1/2)) -1)

simplify44.0ms (0.2%)

Algorithm
egg-herbie
Rules
694×distribute-lft-in
669×distribute-rgt-in
485×associate-+l+
469×associate-+r+
395×distribute-lft-out
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01434294967752
1301472
21193472
Stop Event
node limit
Counts
58 → 69
Calls
Call 1
Inputs
(+.f32 (E.f32) 0)
(+.f32 (E.f32) (log.f32 (pow.f32 1 (E.f32))))
(+.f32 (+.f32 (E.f32) 1) -1)
(+.f32 0 (E.f32))
(+.f32 (*.f32 2 (*.f32 1/3 (E.f32))) (*.f32 1/3 (E.f32)))
(+.f32 (*.f32 1/3 (E.f32)) (*.f32 2 (*.f32 1/3 (E.f32))))
(+.f32 (*.f32 1/3 (E.f32)) (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))))
(+.f32 (*.f32 1/2 (E.f32)) (*.f32 1/2 (E.f32)))
(+.f32 (log.f32 (pow.f32 1 (E.f32))) (E.f32))
(+.f32 (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))) (*.f32 1/3 (E.f32)))
(-.f32 (+.f32 (E.f32) 1) 1)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32))))))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (E.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (E.f32)))))
(*.f32 (E.f32) 1)
(*.f32 1 (E.f32))
(*.f32 (exp.f32 1/3) (exp.f32 2/3))
(*.f32 (exp.f32 2/3) (exp.f32 1/3))
(*.f32 (exp.f32 1/2) (exp.f32 1/2))
(*.f32 1/3 (*.f32 3 (E.f32)))
(*.f32 2 (*.f32 1/2 (E.f32)))
(*.f32 3 (*.f32 1/3 (E.f32)))
(*.f32 (exp.f32 2/9) (*.f32 (exp.f32 1/9) (exp.f32 2/3)))
(*.f32 (exp.f32 1/9) (log.f32 (exp.f32 (exp.f32 8/9))))
(*.f32 (exp.f32 4/9) (cbrt.f32 (exp.f32 5/3)))
(*.f32 (exp.f32 1/6) (exp.f32 5/6))
(*.f32 (exp.f32 1/6) (log.f32 (exp.f32 (exp.f32 5/6))))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (exp.f32 1/4) (log.f32 (exp.f32 (sqrt.f32 (exp.f32 3/2)))))
(*.f32 (*.f32 1/3 (E.f32)) 3)
(*.f32 (exp.f32 5/6) (exp.f32 1/6))
(*.f32 (*.f32 (E.f32) 2) 1/2)
(*.f32 (*.f32 3 (E.f32)) 1/3)
(*.f32 (exp.f32 8/9) (exp.f32 1/9))
(*.f32 (sqrt.f32 (exp.f32 3/2)) (exp.f32 1/4))
(*.f32 (/.f32 (E.f32) 2) 2)
(*.f32 (*.f32 (exp.f32 1/3) (exp.f32 4/9)) (exp.f32 2/9))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 3) 1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 1 (+.f32 (E.f32) 1))))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 2) 1) (+.f32 (+.f32 (E.f32) 1) 1))
(pow.f32 (E.f32) 1)
(pow.f32 (exp.f32 1/3) 3)
(pow.f32 (exp.f32 2/3) 3/2)
(pow.f32 (exp.f32 2) 1/2)
(pow.f32 (exp.f32 3) 1/3)
(pow.f32 (exp.f32 1/2) 2)
(pow.f32 (exp.f32 6) 1/6)
(pow.f32 (exp.f32 3/2) 2/3)
(pow.f32 (exp.f32 4) 1/4)
(sqrt.f32 (exp.f32 2))
(fabs.f32 (E.f32))
(log.f32 (exp.f32 (E.f32)))
(cbrt.f32 (exp.f32 3))
(expm1.f32 (log1p.f32 (E.f32)))
(log1p.f32 (expm1.f32 (E.f32)))
(exp.f32 1)
(fma.f32 1 (+.f32 (E.f32) 1) -1)
(fma.f32 (+.f32 (E.f32) 1) 1 -1)
(fma.f32 (pow.f32 (cbrt.f32 (+.f32 (E.f32) 1)) 2) (cbrt.f32 (+.f32 (E.f32) 1)) -1)
(fma.f32 (hypot.f32 1 (exp.f32 1/2)) (hypot.f32 1 (exp.f32 1/2)) -1)
Outputs
(+.f32 (E.f32) 0)
(E.f32)
(+.f32 (E.f32) (log.f32 (pow.f32 1 (E.f32))))
(E.f32)
(+.f32 (+.f32 (E.f32) 1) -1)
(E.f32)
(+.f32 0 (E.f32))
(E.f32)
(+.f32 (*.f32 2 (*.f32 1/3 (E.f32))) (*.f32 1/3 (E.f32)))
(E.f32)
(+.f32 (*.f32 1/3 (E.f32)) (*.f32 2 (*.f32 1/3 (E.f32))))
(E.f32)
(+.f32 (*.f32 1/3 (E.f32)) (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))))
(E.f32)
(+.f32 (*.f32 1/2 (E.f32)) (*.f32 1/2 (E.f32)))
(E.f32)
(+.f32 (log.f32 (pow.f32 1 (E.f32))) (E.f32))
(E.f32)
(+.f32 (log.f32 (pow.f32 (exp.f32 2/3) (E.f32))) (*.f32 1/3 (E.f32)))
(E.f32)
(-.f32 (+.f32 (E.f32) 1) 1)
(E.f32)
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log.f32 (+.f32 1 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32))))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log1p.f32 (-.f32 (pow.f32 (expm1.f32 (E.f32)) 2) (expm1.f32 (E.f32)))))
(-.f32 (log1p.f32 (pow.f32 (expm1.f32 (E.f32)) 3)) (log1p.f32 (*.f32 (expm1.f32 (E.f32)) (+.f32 (expm1.f32 (E.f32)) -1))))
(-.f32 (log.f32 (-.f32 1 (pow.f32 (expm1.f32 (E.f32)) 2))) (log.f32 (-.f32 1 (expm1.f32 (E.f32)))))
(-.f32 (log1p.f32 (neg.f32 (pow.f32 (expm1.f32 (E.f32)) 2))) (log1p.f32 (neg.f32 (expm1.f32 (E.f32)))))
(*.f32 (E.f32) 1)
(E.f32)
(*.f32 1 (E.f32))
(E.f32)
(*.f32 (exp.f32 1/3) (exp.f32 2/3))
(E.f32)
(*.f32 (exp.f32 2/3) (exp.f32 1/3))
(E.f32)
(*.f32 (exp.f32 1/2) (exp.f32 1/2))
(E.f32)
(*.f32 1/3 (*.f32 3 (E.f32)))
(E.f32)
(*.f32 2 (*.f32 1/2 (E.f32)))
(E.f32)
(*.f32 3 (*.f32 1/3 (E.f32)))
(E.f32)
(*.f32 (exp.f32 2/9) (*.f32 (exp.f32 1/9) (exp.f32 2/3)))
(E.f32)
(*.f32 (exp.f32 1/9) (log.f32 (exp.f32 (exp.f32 8/9))))
(E.f32)
(*.f32 (exp.f32 4/9) (cbrt.f32 (exp.f32 5/3)))
(*.f32 (exp.f32 1/6) (exp.f32 5/6))
(E.f32)
(*.f32 (exp.f32 1/6) (log.f32 (exp.f32 (exp.f32 5/6))))
(E.f32)
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (exp.f32 1/4) (log.f32 (exp.f32 (sqrt.f32 (exp.f32 3/2)))))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (*.f32 1/3 (E.f32)) 3)
(E.f32)
(*.f32 (exp.f32 5/6) (exp.f32 1/6))
(E.f32)
(*.f32 (*.f32 (E.f32) 2) 1/2)
(E.f32)
(*.f32 (*.f32 3 (E.f32)) 1/3)
(E.f32)
(*.f32 (exp.f32 8/9) (exp.f32 1/9))
(E.f32)
(*.f32 (sqrt.f32 (exp.f32 3/2)) (exp.f32 1/4))
(*.f32 (exp.f32 1/4) (sqrt.f32 (exp.f32 3/2)))
(*.f32 (/.f32 (E.f32) 2) 2)
(E.f32)
(*.f32 (*.f32 (exp.f32 1/3) (exp.f32 4/9)) (exp.f32 2/9))
(E.f32)
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 3) 1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 1 (+.f32 (E.f32) 1))))
(/.f32 (+.f32 (pow.f32 (+.f32 (E.f32) 1) 3) -1) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 (E.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (E.f32) 1) 3)) (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) (+.f32 (E.f32) 2)))
(/.f32 (+.f32 -1 (pow.f32 (+.f32 (E.f32) 1) 3)) (+.f32 2 (+.f32 (E.f32) (pow.f32 (+.f32 (E.f32) 1) 2))))
(/.f32 (-.f32 (pow.f32 (+.f32 (E.f32) 1) 2) 1) (+.f32 (+.f32 (E.f32) 1) 1))
(/.f32 (+.f32 (pow.f32 (+.f32 (E.f32) 1) 2) -1) (+.f32 (E.f32) 2))
(/.f32 (*.f32 (+.f32 (E.f32) 2) (E.f32)) (+.f32 (E.f32) 2))
(/.f32 (*.f32 (E.f32) (+.f32 (E.f32) 2)) (+.f32 (E.f32) 2))
(pow.f32 (E.f32) 1)
(E.f32)
(pow.f32 (exp.f32 1/3) 3)
(E.f32)
(pow.f32 (exp.f32 2/3) 3/2)
(pow.f32 (exp.f32 2) 1/2)
(sqrt.f32 (exp.f32 2))
(pow.f32 (exp.f32 3) 1/3)
(cbrt.f32 (exp.f32 3))
(pow.f32 (exp.f32 1/2) 2)
(E.f32)
(pow.f32 (exp.f32 6) 1/6)
(pow.f32 (exp.f32 3/2) 2/3)
(*.f32 (cbrt.f32 (exp.f32 3/2)) (cbrt.f32 (exp.f32 3/2)))
(pow.f32 (exp.f32 4) 1/4)
(sqrt.f32 (exp.f32 2))
(fabs.f32 (E.f32))
(E.f32)
(log.f32 (exp.f32 (E.f32)))
(E.f32)
(cbrt.f32 (exp.f32 3))
(expm1.f32 (log1p.f32 (E.f32)))
(E.f32)
(log1p.f32 (expm1.f32 (E.f32)))
(E.f32)
(exp.f32 1)
(E.f32)
(fma.f32 1 (+.f32 (E.f32) 1) -1)
(E.f32)
(fma.f32 (+.f32 (E.f32) 1) 1 -1)
(E.f32)
(fma.f32 (pow.f32 (cbrt.f32 (+.f32 (E.f32) 1)) 2) (cbrt.f32 (+.f32 (E.f32) 1)) -1)
(E.f32)
(fma.f32 (hypot.f32 1 (exp.f32 1/2)) (hypot.f32 1 (exp.f32 1/2)) -1)
(E.f32)

eval507.0ms (2.2%)

Compiler

Compiled 28542 to 18176 computations (36.3% saved)

prune198.0ms (0.9%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New7330733
Fresh000
Picked022
Done011
Total7333736
Accuracy
99.1%
Counts
736 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (-.f32 (+.f32 (PI.f32) 1) 1) s)))))) -1)))
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (*.f32 (log.f32 (E.f32)) (PI.f32)) s)))))) -1)))
99.0%
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Compiler

Compiled 227 to 164 computations (27.8% saved)

regimes28.0ms (0.1%)

Accuracy

Total -0.0b remaining (-5.9%)

Threshold costs -0b (-5.9%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (-.f32 (+.f32 (PI.f32) 1) 1) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (*.f32 (log.f32 (E.f32)) (PI.f32)) s)))))) -1)))
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
Outputs
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Calls

3 calls:

18.0ms
s
5.0ms
(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
4.0ms
u
Results
AccuracySegmentsBranch
99.0%1u
99.0%1s
99.0%1(*.f32 (neg.f32 s) (log.f32 (-.f32 (/.f32 1 (+.f32 (*.f32 u (-.f32 (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (neg.f32 (PI.f32)) s)))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) (/.f32 1 (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) 1)))
Compiler

Compiled 45 to 34 computations (24.4% saved)

simplify5.0ms (0%)

Algorithm
egg-herbie
Rules
11×+-commutative
*-commutative
sub-neg
neg-sub0
neg-mul-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026106
143106
258106
371106
478106
580106
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Outputs
(*.f32 (neg.f32 s) (log.f32 (+.f32 (/.f32 1 (+.f32 (/.f32 u (+.f32 1 (exp.f32 (/.f32 (PI.f32) (neg.f32 s))))) (/.f32 (-.f32 1 u) (+.f32 1 (exp.f32 (/.f32 (PI.f32) s)))))) -1)))
Compiler

Compiled 30 to 23 computations (23.3% saved)

soundness233.0ms (1%)

Rules
633×fma-neg
598×fma-define
368×associate-/r*
235×associate-/l/
231×div-sub
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
067948
1139932
2299924
3854796
41819744
53463734
65665734
Stop Event
node limit

end0.0ms (0%)

preprocess42.0ms (0.2%)

Compiler

Compiled 138 to 106 computations (23.2% saved)

Profiling

Loading profile data...